Noob问题! :)
我有一个表单,除了调用some_action
之外基本上没有任何意义。我使用表格的原因是因为我们在大型网站上有一个特定的样式。
<%= styled_form_for(@user, :url => some_action_user_path @user)) do |f| %>
<%= f.save_button %>
<% end %>
我想,因为它是一个表单,我应该可以在那里放一个复选框。除了确认用户确实想要执行此操作之外,它应该没有其他目标。例如。 &#34;是的,我想对用户模型进行some_action
&#34;。
我如何制作一个不会真正改变任何属性或影响任何内容的复选框 - 除此之外应检查表单是否提交?
这可能很简单,但根据文档和各种错误消息,我应该提供这样一个属性的参数(我不想要......)
答案 0 :(得分:1)
form_for
旨在处理模型的属性,这是您正在阅读的所有文档都在告诉您。因此,如果您的模型有一个布尔列,您可以轻松地附加一个复选框。
如果您想要一个不遵循此规范的表单(或特定标签),您可以使用这些方法的_tag
版本。例如,form_tag或在您的特定情况下为check_box_tag。
示例:
<%= styled_form_for(@user, :url => some_action_user_path @user)) do |f| %>
<%= check_box_tag "do_some_method" %>
<%= f.save_button %>
<% end %>
注意:如果已选中:do_some_method
,您将只获得一个参数条目。如果你想得到一个参数,你必须在它之前添加一个hidden_field_tag
。
<%= hidden_field_tag "do_some_method", "no_dont_do_it" %>
<%= check_box_tag "do_some_method", "yes_do_it" %>
现在,如果选中该复选框,您将params[:do_some_method]
设置为"yes_do_it"
;如果未选中,则不会将params[:do_some_method]
设置为"no_dont_do_it"
。