这就是我的新/编辑邮件表单的样子(我正在使用slim):
= form_for(@message) do |f|
= f.label :message
br
= f.text_area :content
br
= f.submit 'Submit'
有没有办法通过表单发送附加字段(在任何模型中都没有定义?)。我想在消息控制器里面的'create'方法中使用它。
答案 0 :(得分:2)
您可以使用hidden_field
方法创建和提交任意字段:
= f.hidden_field(:name)
这假设您有一个模型字段。如果没有,请使用hidden_field_tag
:
= hidden_field_tag(:name, 'value')
答案 1 :(得分:2)
如果使用Rails 4,您可以在模型中创建自定义访问者:
attr_accessor :content
,它不会保存到数据库。
在Rails 5中有一个特定的宏,它也可以对该属性进行类型化处理。
无论如何,如果使用http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html
,请确保该属性也在列入白名单的参数列表中