ruby build_ Syntactic Sugar是什么意思?

9vw9lbht  于 12个月前  发布在  Ruby
关注(0)|答案(2)|浏览(169)

我正在学习rails,找不到一个好的方法来搜索它,因为Google不喜欢下划线。build_*作为前缀做什么?它是否为你附加的任何模型创建初始化器?

qybjjes1

qybjjes11#

它与关联有关。你可以在子类的对象上使用它来构建父类关联。你不能反过来使用它。

class Puppy
  belong_to :dog
  attr_accessor :name
end

class Dog
  has_many :puppies
  attr_accessor :name
end

p = Puppy.new(name: "baby")
p.build_dog(name: "John)

字符串

brccelvz

brccelvz2#

我来这里复活这个,以防有人正在寻找相同的答案- Brainmaniac是正确的,他提供的链接是更新的。事实上,你也可以这样做。但不是“build_",你将不得不使用这样的东西:
如果是“has_one”:@parent.build_children(parameters)
如果“has_many”:@parent.children.build(parameters)

相关问题