Rails 3.1.3 I have Video, Script classes having Video 1----0..n Script association. in "Video" show.html.erb, there are both <%= render :partial => "new_script", :locals => { :script => Script.new(:video_id => @video.id)} %> and <%= render :partial => "script_list", :locals => {:scripts => @video.scripts} %> in other words, a single page contains a video clip and "script" create form as well as the list of all "scripts" that belong to that video. My question is : How can I stay in that page even after clicking the save button for a new script? And How can I update the "Script" list in the Video page using ajax? Originally, scaffold generated def new @script = Script.new respond_to do |format| format.html format.json { render json: @script } end end As all of you are aware, this method redirect_to Script "show" page. I tried for "_new_script.html.erb" partial, I added <%= link_to ''SAVE'', {:controller => ''scripts'', :action => ''new'' }, and for scripts_controller.rb respond_to do |format| format.html { redirect_to :video } #changed HERE format.json { render json: @script } end But does not do the job. jQuery is working properly, so the problem of ajax part is just coding. Could anyone help me out? Thanks in advance. soichi -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Fri, Feb 3, 2012 at 00:52, Soichi Ishida <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> How can I stay in that page even after clicking the save button for a > new script?In your controller, you have control over what page gets rendered. When you create a new script, attached to a video, you can simply have the successful creation redirect to showing the video, or render that view explicitly. -Dave -- Dave Aronson: Available Cleared Ruby on Rails Freelancer (NoVa/DC/Remote) -- see www.DaveAronson.com, and blogs at www.Codosaur.us, www.Dare2XL.com, www.RecruitingRants.com -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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.
Thanks for the reply. Like you pointed out, I have been misunderstanding that redirecting was due to ''new'' action. It''s rather ''create'' action. Right now I am trying to develop jQuery ajax that updates a part of the page. So I tried in script controller, def create @script = Script.new(params[:script]) respond_to do |format| if @script.save format.html { notice: ''Script was successfully added.'' } format.js do render ''/ajax/script_list'' #HERE!!!!! end else format.html { render action: "new" } end end the following is the '':partial'' that hopefully updates itself with ajax. <%= form_for script, :remote => true do |f|%> <%= f.hidden_field :video_id %> ... <%= f.text_field :text, :class=>"xxlarge" %> <%= f.submit "save", :class=>"btn" %> <% end %> And of course, I need some JavaScript code that implements it. Could anyone give some tips for that ? soichi -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.