【发布时间】:2013-10-02 15:34:27
【问题描述】:
我的 home.html.haml 页面呈现 3 个部分:
%h1 Foo
#foo1
= render partial: 'foo/foo', locals: {items: @foo1_items}
#foo2
= render partial: 'foo/foo', locals: {items: @foo2_items}
#foo3
= render partial: 'foo/foo', locals: {items: @foo3_items}
目前,我有一些远程链接可以单独刷新这些部分,从而触发对主页的 ajax 调用:
= link_to 'refresh', home_path(mode: 'foo1'), remote:true
= link_to 'refresh', home_path(mode: 'foo2'), remote:true
= link_to 'refresh', home_path(mode: 'foo3'), remote:true
我有一个 home.js.erb,其中包含以下内容:
<% if params[:mode] == 'foo1'%>
$('#foo1').html('<%= j(render partial: 'foo/foo', locals: {items: @foo1_items}) %>')
<% elsif params[:mode] == 'foo2'%>
$('#foo2').html('<%= j(render partial: 'foo/foo', locals: {items: @foo2_items}) %>')
<% else %>
$('#foo3').html('<%= j(render partial: 'foo/foo', locals: {items: @foo3_items}) %>')
<% end %>
我想知道:
- 如果这是默认的(建议的,最好的)Rails 进行部分页面刷新的方式,还是通常处理 ajax 请求的方式?
- 如果让服务器使用纯 html 响应并让客户端 (javascript) 进行替换会更快?
- 您如何在应用程序中处理此问题?
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax ruby-on-rails-3