Techioz Blog

build_ は Syntactic Sugar ですか?

概要

私は Rails を学んでいますが、Google はアンダースコアを好まないため、これを検索する良い方法が見つかりません。 build_* はプレフィックスとして何をするのでしょうか?どのモデルに接続しても初期化子を作成しますか?

解決策

それは協会に関連しています。これを子クラスのオブジェクトで使用して、親の関連付けを構築できます。逆に使用することはできません。

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)