class='span-18 last
vert_divider'<% end %>>
<%= render :partial => 'pages/show', :locals =>
{ :page=>@page } %>
In the controller :pages, I had a show_page method that just rendered
the partial again.
In Rails 3, I don’t know how to accomplish this. I want to use
jQuery, which I already know how to code, but I don’t know how to get
it working in this way. Should I create a js.erb file in my view? I
watched the #205 Unobtrusive Javascript - RailsCasts
but I still don’t know how to get it working to update one part of the
page! Basically, I have this sidebar with links on it, and each time a
user a clicks on one of them, the central part of the page should
update - AJAX! How do I do this? Do I still need this show_page
method in the controller?
I found a clean answer, and I thought I’d explain the solution.
Basically, I was too caught up in the jQuery and etc. - in this case,
Prototype works very nicely. With jQuery, I got to fumbling around
with a js.erb files. With prototype, in this, case the solution is
really clean.
class='span-18 last
vert_divider'<% end %>>
<%= render :partial => 'pages/show_page', :locals => { :page=>@page }
%>
—PagesController—
class PagesController < ApplicationController
def show @page = Page.find(params[:id])
respond_to do |format|
format.js {
render(:update) do |page| # uses Prototype, the JS framework
page.replace_html ‘show_page’, :partial => “show_page”, :locals
=> { :page => @page }
end
}
end
end
end
Hopefully this will help anyone who’s encountered this same problem,
so that person can come to the answer more quickly.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.