【问题标题】:simple_form send a extra parametersimple_form 发送一个额外的参数
【发布时间】:2012-03-22 18:35:38
【问题描述】:

我正在使用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,这是有道理的,因为它不是列表中的方法。

【问题讨论】:

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


【解决方案1】:

如果您不希望值保留到数据库,请添加虚拟属性:

class List < ActiveRecord::Base
  attr_accessor :task_count
end

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

...否则,如果您希望它持久保存到数据库(听起来可能)。您可以将 task_count 添加为列表表中的一列(通过迁移)。

【讨论】:

  • 非常感谢这完美的工作。我不需要列,因为一旦创建了列表,我就可以使用 count 方法。
  • 这在 Rails 4 中仍然有效吗?
  • 我使用的是 Rails 4.2.5,它仍然有效。
猜你喜欢
  • 1970-01-01
  • 2015-04-12
  • 2021-07-21
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多