【发布时间】:2012-07-17 23:42:42
【问题描述】:
我只是在看 Sortable Table Columns 上的 Ryan Bates railscast 教程,在他后来的一个视频 (Search, Sort, Paginate with AJAX) 中进行了一些修改,该教程变成了 ajaxified。我认为他的解决方案效果很好,很干净而且很容易降解。
一个问题是,他使用表格来实现排序功能,而我想改用选择输入。
目前我设置了两个选择框,一个用于列,另一个用于搜索方向,以及一个用于启动 ajax 请求的链接(请参阅下面的屏幕截图)。
但是 Ryan Bates 对其进行了设置,因此他为每个可排序的列都有一个单独的链接,而我只会有一个链接。我想知道是否有人知道一种方法来推断他所拥有的并将参数与选择框上的值合并。
这是我迄今为止所拥有的......
<table>
<tr>
<th>Sort by</th>
<th>Order</th>
</tr>
<tr>
<td>
<%= select_tag "sort", options_for_select([["Creation Date", "created_at"], ["File Name", "name"], ["Rating", "rating_average"], ["Downloads", "downloads"]]) %>
</td>
<td>
<%= select_tag "direction", options_for_select([["Descending", "desc"], ["Ascending", "asc"]]) %>
</td>
<td>
<%= link_to "Sort", params.merge(:sort => params[:sort], :direction => params[:direction], :page => nil), :class => "icon" %>
</td>
</tr>
</table>
如果可能的话,我不想将功能仅限于启用 JavaScript 的用户。
【问题讨论】:
-
代码在哪里掉下来了?
-
为两个 select_tags 选择的值实际上并没有与 link_to 一起传递,可能是因为这些值是在运行时设置的,并且链接是在服务器端生成的?
标签: ajax ruby-on-rails-3 railscasts html-select