build_ 是语法糖吗?

问题描述 投票:0回答:2

我正在学习 Rails,但找不到搜索此内容的好方法,因为 Google 不喜欢下划线。

build_*
作为前缀有什么作用?它是否为您附加到的任何模型创建初始化程序?

ruby-on-rails ruby syntactic-sugar
2个回答
5
投票

与协会有关。您可以在子类的对象上使用它来构建父关联。您不能以其他方式使用它。

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)

0
投票

我来这里是为了复活这个,以防有人正在寻找相同的答案 - Brainmaniac 是对的,他提供的链接已更新。事实上,您也可以反过来做。

© www.soinside.com 2019 - 2024. All rights reserved.