我希望能够在ActiveRecord:Base Model上创建嵌套的属性。
例如:
class Book < ActiveRecord::Base
attr_accessor :operator, :who我希望:谁有更多的属性,比如:family,:me,这样我最终可以像下面这样访问这些属性
book = Book.new
book.who.family = [1,2,3]
book.who.me = 1我还想知道如何定义属性可以采用的值的类型,这样我就不必在运行时这样做了。
目前我正在使用类似下面这样的东西
after_initialize do
@who = {family: [], me: nil}
end发布于 2015-07-27 19:23:57
我在我的控制台上试过了。因此,如果您添加属性作为属性访问器,并使用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]这会有帮助吗?
https://stackoverflow.com/questions/31650779
复制相似问题