simple_form发送一个额外的参数

时间:2012-03-22 18:35:39

标签: ruby-on-rails activerecord simple-form

我正在使用https://github.com/plataformatec/simple_form并尝试发送额外的参数。我有一个Task,List和ListTask模型,在列表的新页面中我希望能够插入将要添加的任务数。提交时,它会将您发送到新的list_task页面,其中填写了正确数量的表单。

=simple_form_for @list do |s|
  =s.input :title
  =s.input :task_count
  =s.button :submit

这会产生错误undefined method task_count,这是有道理的,因为它不是列表中的方法。

1 个答案:

答案 0 :(得分:9)

如果您不希望值持久存储到db,请添加虚拟属性:

class List < ActiveRecord::Base
  attr_accessor :task_count
end

这将允许您在表单中使用该属性,但这只会持续该对象的生命周期,但它会使其进入您的POST参数。

...否则,如果你想让它坚持到数据库(这听起来像你可能)。您将task_count添加为列表中的列(通过迁移)。