Rails 4:附加表单字段

时间:2016-02-23 18:50:12

标签: ruby ruby-on-rails-4 tags slim-lang

这就是我的新/编辑邮件表单的样子(我正在使用slim):

= form_for(@message) do |f|
  = f.label :message
  br
  = f.text_area :content
  br
  = f.submit 'Submit'

有没有办法通过表单发送附加字段(在任何模型中都没有定义?)。我想在消息控制器里面的'create'方法中使用它。

2 个答案:

答案 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

,请确保该属性也在列入白名单的参数列表中