ruby-on-rails - 在attribute_accessible中嵌套了attribute_accessible rails或hash

ruby-on-rails - 在attribute_accessible中嵌套了attribute_accessible rails或hash,第1张

我希望能够在嵌套的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]

这会有帮助吗?

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复