ruby-on-rails - 在attribute_accessible中嵌套了attribute_accessible rails或hash
我希望能够在嵌套的ActiveRecord:Base Model上创建属性。
例如 -
class Book < ActiveRecord::Base
attr_accessor :operator, :who
我想:谁有更多属性,如:家庭,:我 所以最后我可以按如下方式访问这些
book = Book.new
book.who.family = [1,2,3]
book.who.me = 1
我也想知道如何定义属性可以采用的值的类型,所以我不必在运行时这样做。
目前正在使用类似这样的内容
after_initialize do
@who = {family: [], me: nil}
end
最佳答案:
1 个答案:
答案 0 :(得分:0)
我在控制台试了一下。因此,如果将属性添加为属性访问器,则after_initialize将它们设置为这样。
attr_accessor :who, :operator
after_initialize do
self.who = {family: [], me: nil}
self.operator = "Minus"
end
然后您可以像这样访问它们
self.who[:family] = [1,2,3,4]
或
self.operator = "Minus"
你可以像这样访问它们
self.who[:family] ==> [1,2,3]
这会有帮助吗?
本文经用户投稿或网站收集转载,如有侵权请联系本站。