如何创建带有使用GET的复选框的rails表单?

时间:2012-02-25 02:02:50

标签: javascript ruby-on-rails forms checkbox get

目标网址是

"versions/compare/id1/id2"

显然,这不起作用,但显示了意图

<%= form_tag("/versions/compare/", :method => "get") do %>
  <% versions.each do |v| %>
    <% v.id == @version.id ? current_class = " current" : "" %>
    <li class="version-list <%= current_class %>">
       <%= check_box_tag(:compare_version, v.id) %>
       <%= link_to v.user.name, version_path(v) %>, 
    </li>
  <% end  %>
  <%= submit_tag("Compare") %>
<% end #form tag
 %>

上面的代码会生成http://localhost:3000/versions/compare/?utf8=%E2%9C%93&compare_version=13&compare_version=12&commit=Compare

有没有办法修改表单(+ JS?)以便它获得所需的URL?

"versions/compare/id1/id2"

1 个答案:

答案 0 :(得分:0)

您需要了解form_tag的工作原理,在呈现文档后无法更改URL。

如果要更改网址,请使用jquery进行更改。

或者,只需将表单提交到其他网址,例如

<%= form_tag("/comparing_version")

然后,在控制器中,处理完所有内容后,将用户重定向到

&#34;版本/比较/ ID1 / ID2&#34;