我正在学习rails,找不到一个好的方法来搜索它,因为Google不喜欢下划线。build_*作为前缀做什么?它是否为你附加的任何模型创建初始化器?
build_*
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)
字符串
brccelvz2#
我来这里复活这个,以防有人正在寻找相同的答案- Brainmaniac是正确的,他提供的链接是更新的。事实上,你也可以这样做。但不是“build_",你将不得不使用这样的东西:如果是“has_one”:@parent.build_children(parameters)如果“has_many”:@parent.children.build(parameters)
2条答案
按热度按时间qybjjes11#
它与关联有关。你可以在子类的对象上使用它来构建父类关联。你不能反过来使用它。
字符串
brccelvz2#
我来这里复活这个,以防有人正在寻找相同的答案- Brainmaniac是正确的,他提供的链接是更新的。事实上,你也可以这样做。但不是“build_",你将不得不使用这样的东西:
如果是“has_one”:@parent.build_children(parameters)
如果“has_many”:@parent.children.build(parameters)