【发布时间】:2011-01-01 00:06:48
【问题描述】:
我的应用程序布局包含一个导航 div 和一个构造为部分的内容 div。我想使用 ajax,这样每当有人单击导航 div 中的链接时,该页面的内容就会在内容 div 中呈现而无需刷新。我对如何正确地做到这一点感到困惑......对rails noob有什么帮助吗???先谢谢了~
application.html.erb
<body>
<div id="container">
<%= render 'layouts/header' %>
<%= render 'layouts/content'%>
<%= render 'layouts/footer' %>
</div>
</body>
_header.html.erb
<%= link_to_remote "Home", :url => { :controller => "pages", :action => "home" } %>
_content.html.erb
<div id="content">
<%= yield %>
</div>
pages_controller.rb
def home
@title = "Home"
respond_to do |format|
format.js
end
end
home.rjs
page.replace_html :container, :partial => 'layouts/content'
【问题讨论】:
-
仅供参考:
link_to_remote是 Rails 2 执行此操作的方式。从 Rails 3 开始,使用link_to ..., :remote => true。关于您的问题:使用 Firefox 的 firebug 插件并激活控制台。在那里您可以跟踪您的 Ajax 请求。如果控制器端出现错误,则包含在响应中。 -
duddle 这是非常有帮助的,我今天试图找出这一点。
标签: ruby-on-rails ajax rjs link-to-remote