Hello, My problem is when submitting a form with remote_form_for I got a message that says:"Template is missing Missing template messages/create.html.erb" so the remote_form_for searches for a template of the create method instead of just updates the required div, here is the code: Here is the link when I call the form: <%= link_to_remote "Send new SMS", :url => ''messages/new_sms'', :loading => "Element.show(''loading'')", :update => ''msg_form'', :complete => "Element.hide(''loading'')"%></p> #new_sms.html.erb: <% remote_form_for :message, @message, :url => ''messages/create'', :loading => "Element.show(''sending'')", :update => ''messaging_area'', :complete => "Element.hide(''loading'')" do |f| %> #messaging_area is the div that lists sent messages, this div should be updated by Ajax to show the newly-sent message <table id="new_message_form"> <tr> <td colspan="2"><p class="labelcell">Message</p> </td> <td colspan="2"><%= f.text_area :text, :id => ''text'', :size => ''30x10'', :class => ''fieldcell'' %></td> </tr> <tr> <td colspan="2"><p class="labelcell">Sender</p> </td> <td colspan="2"> <%= f.text_field :sender, :class => ''fieldcell'' %></ td> </tr> <tr> <td colspan="2"><p class="labelcell">Number</p> </td> <td colspan="2"><%= f.text_field :number, :class => ''fieldcell'' %></ td> </tr> <tr><td><%= f.submit "Send", :class => ''sbutton'' %></td></tr> <%end%> </table> #messages_controller: . . . def create @user = User.find(logged_in_user) @message = Message.new(:text => params[:message][:text], :sender => params[:message][:sender], :number => params[:message][:number], :user_id => logged_in_user.id ) respond_to do |format| @numbers_array = params[:message][:number].split(/\,+\s*|\s+/) # @numbers_from_file = params[:contact][:file].split(/\n/) if @numbers_array.size <= 16 @message.sendsms @message.save @new_count = @user.messages_count + @numbers_array.size @user.update_attribute(:messages_count,@new_count) # flash[:notice] = ''Message was successfully created.'' format.html # format.xml { render :xml => @message, :status => :created, :location => @message } elsif @numbers_array.size > 16 format.html {render :action => "new"} flash[:notice] = ''More than ur allowed max'' else format.html { render :action => "new" } format.xml { render :xml => @message.errors, :status => :unprocessable_entity } end end end . . . I hope everything is clear, I know this is a silly problem but I''ve read the documentation available about remote_form_for and did a lot of googling but didn''t know what causes the action to look for a create.html.erb page !!! Your help is highly appreciated. Regards --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Your remote_form_for is not requesting the xml format and therefore its never getting to the ''render :xml'' call in your controller. It''s trying to do the default render which is to render the erb template which of course doesn''t exist. I think you need your :url option to be :url => ''messages/create.xml'' remote_form_for :message, @message, :url => ''messages/create.xml'', :loading => "Element.show(''sending'')", :update => ''messaging_area'', :complete => "Element.hide(''loading'')" do |f| On Jun 13, 1:20 pm, "AN@S" <anas.marr...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hello, > My problem is when submitting a form with remote_form_for I got a > message that says:"Template is missing > > Missing template messages/create.html.erb" so the remote_form_for > searches for a template of the create method instead of just updates > the required div, here is the code: > > Here is the link when I call the form: > > <%= link_to_remote "Send new SMS", :url => ''messages/new_sms'', > :loading => "Element.show(''loading'')", :update => > ''msg_form'', > :complete => "Element.hide(''loading'')"%></p> > > #new_sms.html.erb: > > <% remote_form_for :message, @message, :url => ''messages/create'', > :loading => "Element.show(''sending'')", :update => > ''messaging_area'', > :complete => "Element.hide(''loading'')" do |f| %> > > #messaging_area is the div that lists sent messages, this div should > be updated by Ajax to show the newly-sent message > > <table id="new_message_form"> > <tr> > <td colspan="2"><p class="labelcell">Message</p> </td> > <td colspan="2"><%= f.text_area :text, :id => ''text'', :size => > ''30x10'', :class => ''fieldcell'' %></td> > </tr> > > <tr> > <td colspan="2"><p class="labelcell">Sender</p> </td> > <td colspan="2"> <%= f.text_field :sender, :class => ''fieldcell'' %></ > td> > </tr> > <tr> > <td colspan="2"><p class="labelcell">Number</p> </td> > <td colspan="2"><%= f.text_field :number, :class => ''fieldcell'' %></ > td> > </tr> > > <tr><td><%= f.submit "Send", :class => ''sbutton'' %></td></tr> > > <%end%> > > </table> > > #messages_controller: > > . > . > . > def create > @user = User.find(logged_in_user) > @message = Message.new(:text => params[:message][:text], > :sender => params[:message][:sender], > :number => params[:message][:number], > :user_id => logged_in_user.id > ) > > respond_to do |format| > @numbers_array = params[:message][:number].split(/\,+\s*|\s+/) > # @numbers_from_file = params[:contact][:file].split(/\n/) > > if @numbers_array.size <= 16 > @message.sendsms > @message.save > @new_count = @user.messages_count + @numbers_array.size > @user.update_attribute(:messages_count,@new_count) > # flash[:notice] = ''Message was successfully created.'' > format.html > # format.xml { render :xml => @message, :status > => :created, :location => @message } > > elsif > @numbers_array.size > 16 > format.html {render :action => "new"} > flash[:notice] = ''More than ur allowed max'' > else > format.html { render :action => "new" } > format.xml { render :xml => @message.errors, :status > => :unprocessable_entity } > > end > > end > > end > . > . > . > > I hope everything is clear, I know this is a silly problem but I''ve > read the documentation available about remote_form_for and did a lot > of googling but didn''t know what causes the action to look for a > create.html.erb page !!! > > Your help is highly appreciated. > > Regards--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi, I don''t think this is related to xml at all, why would I need to render xml? Any help? 2008/6/13 julian <thefool808-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:> > Your remote_form_for is not requesting the xml format and therefore > its never getting to the ''render :xml'' call in your controller. It''s > trying to do the default render which is to render the erb template > which of course doesn''t exist. > > I think you need your :url option to be :url => ''messages/create.xml'' > > remote_form_for :message, @message, > :url => ''messages/create.xml'', > :loading => "Element.show(''sending'')", > :update => ''messaging_area'', > :complete => "Element.hide(''loading'')" do |f| > > On Jun 13, 1:20 pm, "AN@S" <anas.marr...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > Hello, > > My problem is when submitting a form with remote_form_for I got a > > message that says:"Template is missing > > > > Missing template messages/create.html.erb" so the remote_form_for > > searches for a template of the create method instead of just updates > > the required div, here is the code: > > > > Here is the link when I call the form: > > > > <%= link_to_remote "Send new SMS", :url => ''messages/new_sms'', > > :loading => "Element.show(''loading'')", :update => > > ''msg_form'', > > :complete => "Element.hide(''loading'')"%></p> > > > > #new_sms.html.erb: > > > > <% remote_form_for :message, @message, :url => ''messages/create'', > > :loading => "Element.show(''sending'')", :update => > > ''messaging_area'', > > :complete => "Element.hide(''loading'')" do |f| %> > > > > #messaging_area is the div that lists sent messages, this div should > > be updated by Ajax to show the newly-sent message > > > > <table id="new_message_form"> > > <tr> > > <td colspan="2"><p class="labelcell">Message</p> </td> > > <td colspan="2"><%= f.text_area :text, :id => ''text'', :size => > > ''30x10'', :class => ''fieldcell'' %></td> > > </tr> > > > > <tr> > > <td colspan="2"><p class="labelcell">Sender</p> </td> > > <td colspan="2"> <%= f.text_field :sender, :class => ''fieldcell'' %></ > > td> > > </tr> > > <tr> > > <td colspan="2"><p class="labelcell">Number</p> </td> > > <td colspan="2"><%= f.text_field :number, :class => ''fieldcell'' %></ > > td> > > </tr> > > > > <tr><td><%= f.submit "Send", :class => ''sbutton'' %></td></tr> > > > > <%end%> > > > > </table> > > > > #messages_controller: > > > > . > > . > > . > > def create > > @user = User.find(logged_in_user) > > @message = Message.new(:text => params[:message][:text], > > :sender => params[:message][:sender], > > :number => params[:message][:number], > > :user_id => logged_in_user.id > > ) > > > > respond_to do |format| > > @numbers_array = params[:message][:number].split(/\,+\s*|\s+/) > > # @numbers_from_file = params[:contact][:file].split(/\n/) > > > > if @numbers_array.size <= 16 > > @message.sendsms > > @message.save > > @new_count = @user.messages_count + @numbers_array.size > > @user.update_attribute(:messages_count,@new_count) > > # flash[:notice] = ''Message was successfully created.'' > > format.html > > # format.xml { render :xml => @message, :status > > => :created, :location => @message } > > > > elsif > > @numbers_array.size > 16 > > format.html {render :action => "new"} > > flash[:notice] = ''More than ur allowed max'' > > else > > format.html { render :action => "new" } > > format.xml { render :xml => @message.errors, :status > > => :unprocessable_entity } > > > > end > > > > end > > > > end > > . > > . > > . > > > > I hope everything is clear, I know this is a silly problem but I''ve > > read the documentation available about remote_form_for and did a lot > > of googling but didn''t know what causes the action to look for a > > create.html.erb page !!! > > > > Your help is highly appreciated. > > > > Regards > > >-- Anas Marrawi Visit me at: www.anasonline.net If you want to send me encrypted emails. My public key: pub:13427489:17 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi, The problem has been solved I simply added {redirect_to messages_path} for the format.html, but now I have another problem, when submitting the form, the layout is rendered again though I turned all layouts off for Ajax requests !!! 2008/6/14 AN@S <anas.marrawi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:> Hi, > I don''t think this is related to xml at all, why would I need to render > xml? > > Any help? > > 2008/6/13 julian <thefool808-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>: > > >> Your remote_form_for is not requesting the xml format and therefore >> its never getting to the ''render :xml'' call in your controller. It''s >> trying to do the default render which is to render the erb template >> which of course doesn''t exist. >> >> I think you need your :url option to be :url => ''messages/create.xml'' >> >> remote_form_for :message, @message, >> :url => ''messages/create.xml'', >> :loading => "Element.show(''sending'')", >> :update => ''messaging_area'', >> :complete => "Element.hide(''loading'')" do |f| >> >> On Jun 13, 1:20 pm, "AN@S" <anas.marr...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> > Hello, >> > My problem is when submitting a form with remote_form_for I got a >> > message that says:"Template is missing >> > >> > Missing template messages/create.html.erb" so the remote_form_for >> > searches for a template of the create method instead of just updates >> > the required div, here is the code: >> > >> > Here is the link when I call the form: >> > >> > <%= link_to_remote "Send new SMS", :url => ''messages/new_sms'', >> > :loading => "Element.show(''loading'')", :update => >> > ''msg_form'', >> > :complete => "Element.hide(''loading'')"%></p> >> > >> > #new_sms.html.erb: >> > >> > <% remote_form_for :message, @message, :url => ''messages/create'', >> > :loading => "Element.show(''sending'')", :update => >> > ''messaging_area'', >> > :complete => "Element.hide(''loading'')" do |f| %> >> > >> > #messaging_area is the div that lists sent messages, this div should >> > be updated by Ajax to show the newly-sent message >> > >> > <table id="new_message_form"> >> > <tr> >> > <td colspan="2"><p class="labelcell">Message</p> </td> >> > <td colspan="2"><%= f.text_area :text, :id => ''text'', :size => >> > ''30x10'', :class => ''fieldcell'' %></td> >> > </tr> >> > >> > <tr> >> > <td colspan="2"><p class="labelcell">Sender</p> </td> >> > <td colspan="2"> <%= f.text_field :sender, :class => ''fieldcell'' %></ >> > td> >> > </tr> >> > <tr> >> > <td colspan="2"><p class="labelcell">Number</p> </td> >> > <td colspan="2"><%= f.text_field :number, :class => ''fieldcell'' %></ >> > td> >> > </tr> >> > >> > <tr><td><%= f.submit "Send", :class => ''sbutton'' %></td></tr> >> > >> > <%end%> >> > >> > </table> >> > >> > #messages_controller: >> > >> > . >> > . >> > . >> > def create >> > @user = User.find(logged_in_user) >> > @message = Message.new(:text => params[:message][:text], >> > :sender => params[:message][:sender], >> > :number => params[:message][:number], >> > :user_id => logged_in_user.id >> > ) >> > >> > respond_to do |format| >> > @numbers_array = params[:message][:number].split(/\,+\s*|\s+/) >> > # @numbers_from_file = params[:contact][:file].split(/\n/) >> > >> > if @numbers_array.size <= 16 >> > @message.sendsms >> > @message.save >> > @new_count = @user.messages_count + @numbers_array.size >> > @user.update_attribute(:messages_count,@new_count) >> > # flash[:notice] = ''Message was successfully created.'' >> > format.html >> > # format.xml { render :xml => @message, :status >> > => :created, :location => @message } >> > >> > elsif >> > @numbers_array.size > 16 >> > format.html {render :action => "new"} >> > flash[:notice] = ''More than ur allowed max'' >> > else >> > format.html { render :action => "new" } >> > format.xml { render :xml => @message.errors, :status >> > => :unprocessable_entity } >> > >> > end >> > >> > end >> > >> > end >> > . >> > . >> > . >> > >> > I hope everything is clear, I know this is a silly problem but I''ve >> > read the documentation available about remote_form_for and did a lot >> > of googling but didn''t know what causes the action to look for a >> > create.html.erb page !!! >> > >> > Your help is highly appreciated. >> > >> > Regards >> >> >> > > > -- > Anas Marrawi > Visit me at: www.anasonline.net > > If you want to send me encrypted emails. My public key: pub:13427489:17-- Anas Marrawi Visit me at: www.anasonline.net If you want to send me encrypted emails. My public key: pub:13427489:17 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---