这个rails语法是什么意思?

时间:2012-07-26 17:50:25

标签: ruby-on-rails ruby ruby-on-rails-3

好的,所以我构建了这个应用程序,这是一个rails 2.3.5应用程序,我使用了这种语法

@user = User.new
@user.build_company

我完全忘记了这意味着什么以及如何转换为rails 3语法

class User < ActiveRecord::Base
  has_one :company

class Company < ActiveRecord::Base
   belongs_to :user

我依旧记得rails会使用build_并做一些事情,但我记不住了,我似乎无法在任何地方找到文档

2 个答案:

答案 0 :(得分:2)

.build_将创建一个关联类型(公司)的新对象,该对象链接到它所调用的对象(用户),但尚未保存。 AFAIK在Rails 3中没有改变。

看到这个问题: Ruby on Rails. How do I use the Active Record .build method in a :belongs to relationship?

它指出的文件: http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

答案 1 :(得分:2)

这是Rails 3的正确语法。

has_one relationship:

@parent.build_child

has_many relationship:

@parent.children.build