例如,这是一个snippit:
<%= form_for [@event, @event.comments.new], html: {class: 'form-horizontal', role: 'form'}, remote: true do |f| %>
<div><%= f.hidden_field :user_id, value: current_user.id %></div>
<div class="form-group">
f.hidden_field的目的是什么:user_id ,?代码是否可以在没有它的情况下工作,或者是否必须包含这一行。
干杯!
答案 0 :(得分:1)
如果没有看到将处理表单的控制器代码,隐藏字段似乎保持当前登录用户的id。我假设这将用于进一步的操作,例如,将事件/评论归因于针对该用户创建。
视图不需要隐藏字段,但我想如果删除它,以下控制器操作将失败。
hidden_field方法只是在html中创建<input ... type="hidden" />
,这意味着当表单提交时,该值包含在表单参数中,但该值对用户不可见。
答案 1 :(得分:0)
在您的情况下,您正在为特定用户创建包含评论的活动。因此,user_id
将作为hidden_field
传递。如果没有,user_id
的值将保存为nil
,这会导致错误。