【发布时间】:2021-02-08 12:08:30
【问题描述】:
我正在尝试将隐藏字段添加到 form_with。
这里有 3 次尝试(以及结果/错误消息)
第一次尝试
发件人:https://guides.rubyonrails.org/form_helpers.html
所以我试试:
<%= form_with(model: @message, method: :post) do |f| %>
<%= f.label :body %>
<%= f.text_area :body %>
<%= f.hidden_field_tag :user_id, current_user.id %>
<%= f.submit "Send", class: "btn btn-primary" %>
<% end %>
第二次尝试
发件人:https://api.rubyonrails.org/v6.0.3/classes/ActionView/Helpers/FormHelper.html#method-i-hidden_field
示例:hidden_field(:signup, :pass_confirm)
所以我试试
<%= f.label :body %>
<%= f.text_area :body %>
<%= f.hidden_field :user_id, current_user.id %>
<%= f.submit "Send", class: "btn btn-primary" %>
<% end %>
但是
第三次尝试
这比其他两次尝试更进一步,因为至少显示视图加载而不是出错。
<%= form_with(model: @message, method: :post) do |f| %>
<%= f.label :body %>
<%= f.text_area :body %>
<%= f.hidden_field user_id: current_user.id %>
<%= f.submit "Send", class: "btn btn-primary" %>
<% end %>
但是提交的参数是
Unpermitted parameter: :{:user_id=>21}
即它包含一些不应该包含的额外标点符号(我认为它已被制成嵌套哈希或其他东西?)
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-6 form-with