0

在rails中,浏览器如何知道用户点击了哪个复选框?

=check_box_tag "name"

我在这里检查了他们有http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-check_box_tag

check_box_tag(name, value = "1", checked = false, options = {}),

有人可以解释上面的逻辑吗?它是否具有保存用户选择的复选框标签的功能?

4

1 回答 1

1

表单项(包括复选框)由它们的名称标识。只要您将它们包装在提交到服务器上所需路由的表单标签中,它就与任何其他表单(用户注册、登录等)没有什么不同。复选框数据将在您的控制器中的 params 哈希中可用。

例如,您认为此代码:

<%= form_tag("/checkboxes", :method => "get") do %>
  <%= check_box_tag(:box_1) %>
  <%= check_box_tag(:box_2) %>
  <%= check_box_tag(:box_3) %>
  <%= check_box_tag(:box_4) %>
  <%= submit_tag("Submit") %>
<% end %>

将允许您在控制器中访问您的复选框,如下所示:

def checkboxes
  params[:box_1]
  params[:box_2]
  params[:box_3]
  params[:box_4]
end
于 2012-09-19T03:16:23.783 回答