2013-11-14 4 views
1

Я изучаю рельсы и не могу найти хороший способ поиска этого, поскольку Google не любит подчеркивания. Что такое build_* сделать префиксом? Он делает инициализатор для любой модели, к которой вы присоединяете это?Is build_ Syntactic Sugar?

+0

Вы имеете в виду в ассоциациях? Как '@ post.build_author'? – mechanicalfish

+1

Соответствующие API-документы: http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html – Brian

ответ

3

Это связано с ассоциациями. Вы можете использовать его на объекте дочернего класса для создания родительской ассоциации. Вы не можете использовать его наоборот.

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) 
Смежные вопросы