【问题标题】:How to get the :remote => true working to update a part of the page?如何让 :remote => true 工作以更新页面的一部分?
【发布时间】:2010-12-12 23:27:20
【问题描述】:

在 Rails 2 中,我使用这种代码来更新页面的某个部分。

<div id="sidebar_div" class="span-3">
  <ul class="sidebar_list">
    <% for page in @section.pages %>
    <li><%= link_to_remote "#{page.name}", :update=>'show_page', :url => { :controller=>'pages',:action=>'show_page', :id=>page.id }, :html=>{} %></li>
    <hr/>
    <% end %>
  </ul>
</div>

<div id='show_page' class='span-18 last vert_divider'>
  <%= render :partial => 'pages/show', :locals => { :page=>@page } %>
</div>

在控制器页面中,我有一个 show_page 方法,它刚刚再次渲染了部分。

在 Rails 3 中,我不知道如何实现这一点。我想使用 jQuery,我已经知道如何编码,但我不知道如何让它以这种方式工作。我应该在我的视图中创建一个 js.erb 文件吗?我看了http://railscasts.com/episodes/205-unobtrusive-javascript,但我仍然不知道如何让它工作以更新页面的一部分!基本上,我有这个带有链接的侧边栏,每次用户点击其中一个时,页面的中心部分应该更新 - AJAX!我该怎么做呢?控制器中还需要这个 show_page 方法吗?

【问题讨论】:

  • 请修正你的代码,它很难阅读。

标签: jquery ruby-on-rails ajax


【解决方案1】:

所有 link_to_remote 助手都已从 Rails 3 中删除。取而代之的是,您可以这样称呼它:

link_to "#{page_name}", :remote => true #ect

有关 Rails 3 中 URL 帮助程序更改的更多信息,请参阅 this 链接。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2021-07-20
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 2023-03-20
    • 2019-07-01
    • 2021-12-17
    相关资源
    最近更新 更多