Ruby on rails 第二个参数内容\标记轨道
我使用的表单中有一个下拉列表Ruby on rails 第二个参数内容\标记轨道,ruby-on-rails,Ruby On Rails,我使用的表单中有一个下拉列表 <%= f.select(:visitable_id) do %> <% @visitors.each do |visitor| %> <%= content_tag(:option, visitor.name, value: visitor.id, data: {:type => visitor.class.name.to_s} ) %> <% end %> <%
<%= f.select(:visitable_id) do %>
<% @visitors.each do |visitor| %>
<%= content_tag(:option, visitor.name, value: visitor.id, data: {:type => visitor.class.name.to_s} ) %>
<% end %>
<% end %>
visitor.class.name.to_})%>
提交时,我在控制器中获得可访问的\u id。但我也希望接收content_标记中数据值的数据。:data:{:type=>visitor.class.name.to\u s}
如何访问控制器中的第二个值?任何帮助都将不胜感激 HTML5数据属性不随表单一起发送。除了输入的名称和值之外,没有其他内容 您可以通过将两个值传递给单个选项来解决此问题
<%= f.select(:visitable_id) do %>
<% @visitors.each do |visitor| %>
<%= content_tag(:option, visitor.name, value: "#{visitor.class.name}=visitor.id") %>
<% end %>
<% end %>
但请确保将klass的可接受值列为白名单,以避免恶意用户可以查询任何模型的漏洞。HTML5数据属性不会随表单一起发送。除了输入的名称和值之外,没有其他内容 您可以通过将两个值传递给单个选项来解决此问题
<%= f.select(:visitable_id) do %>
<% @visitors.each do |visitor| %>
<%= content_tag(:option, visitor.name, value: "#{visitor.class.name}=visitor.id") %>
<% end %>
<% end %>
但请确保将
klass
的可接受值列入白名单,以避免恶意用户可以查询任何模型的漏洞。谢谢!正是我要找的!非常感谢。正是我要找的!