【问题标题】:ActiveRecord nested attributes, assignment auto-saves to databaseActiveRecord 嵌套属性,赋值自动保存到数据库
【发布时间】:2012-01-02 09:58:50
【问题描述】:

有没有一种方法可以为模型中的特定属性分配值,该属性声明为嵌套属性,而无需立即将其保存在数据库中? (例如先保存在内存中)

【问题讨论】:

  • 澄清一下,这是一个连接模型 (has_many :through) 还是只是一个 has_many
  • 其实是个has_one
  • 嗯,在保存父模型之前,嵌套模型不应该保存...您是在主模型上调用 .save 还是 .update_attributes
  • 嗯,您介意发布一些示例代码来说明您如何初始化模型和设置属性吗?

标签: ruby-on-rails activerecord nested-attributes


【解决方案1】:

引用自 => http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

"Note that the :autosave option is automatically enabled on every association that #accepts_nested_attributes_for is used for."

您不能使用嵌套属性来做到这一点,但还有其他方法。请您先描述一下您的具体情况好吗?!

【讨论】:

  • 我正在使用 formtastic 来操作特定模型的属性,它需要我使用 accept_nested_attributes 来操作另一个嵌套模型。问题是当该模型为 nil 时(例如,未为主模型设置)它不会显示它的字段。因此,在渲染视图之前设置它对我来说是强制性的。但是当我给它分配一些东西时,它会自动保存到数据库中......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2017-07-06
  • 1970-01-01
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
相关资源
最近更新 更多