环顾四周(很多)之后,我浏览了很多关于这个主题的帖子,但我真的很困惑,因为这个问题似乎主要是在一段时间前(发生变化时)解决的,并且很少与今天的情况相匹配.
所以,我正在尝试将 Rails 2.1 应用程序更新到 3.2 - 并遇到了已弃用的 link_to_remote 函数。我意识到它已被 link_to :remote => true 取代,但这并不能真正解决我的问题。
我正在开发的应用程序使用了很多原型魔法来进行页面内渲染,如下所示:
在 /acl/main.html.erb 中:
<table width=95%>
<tr><td align=center valign=top width=30%> <!-- Employees List -->
<%= render(:partial => "employee_list") %>
</td><td align=center valign=top> <!-- Roles & Privileges List -->
<div id='roles' style="border: 1px solid black; background-color: #ddd;">
<% if @employee.blank? %>
<h4>Select employee to see access details.</h4>
<% elsif @show_uploads %>
<%= render :partial => 'employee_uploads' %>
<% else %>
<%= render :partial => 'employee_edit' %>
<% end %>
</div>
</td></tr>
然后,在 acl/_employee_list.html.erb 中:
<span class="simple">
<table class="production_list">
<tr>
<th colspan=10>
Employees  
<% if @show_all %>
<%= link_to 'Show only active', {:action => "main"} %>
<% else %>
<%= link_to 'Show inactive', {:action => "main", :show_all => 1} %>
<% end %>
 
<%= link_to_remote 'Create',
{ :url => {:action => "create_employee"}, :update => 'roles' } %>
</th>
</tr>
<tr class="default_header_row">
<th width=50 class="default_header_cell small_08">Initials</th>
<th width=190 class="default_header_cell small_08">Name</th>
<th width=90 class="default_header_cell small_08">Access</th>
</tr>
<%= render(:partial => "employee_item", :collection => @employees) %>
</table>
</span>
acl/_employee_create.html.erb 只是一个很长的输入表,显然它被插入到页面上的#post div 中。
所以,我的问题是 -我如何在 Rails 3.2 中使用 UJS 运行它?
我的 gemfile 中有默认的 jquery-rails,但我似乎无法找到处理 ajax 调用的位置,老实说,我不确定我应该如何解决这个问题(尤其是在更通用的方法)。应用程序到处都是这种行为,所以我需要想出一些模仿以前的解决方案 - 有点。