我有以下问题: 我必须在我的数据库中创建一个新的关联行。 我有:
companies table
references table
公司has_many
参考资料。
参考belongs_to
公司。
在我的公司表中,我有以下属性:
id | city | email | ...|
在我的参考表中,我有以下属性:
id | name | surname | company_id | ...|
Company.rb型号:
belongs_to :references
Reference.rb模型:
has_many :companies
在公司控制人员中:
def create
@company = Company.new(company_params)
@company.references.build(params[:company][:email_r])
respond_to do |format|
if @company.save
format.html { redirect_to companies_index_path, :notice => 'created'}
format.json { render :json => companies_index_path, :status => :created, :location => @company }
else
format.html { render :action => "new" }
format.json { render :json => @company.errors, :status => :unprocessable_entity }
end
end
end
我的错误是:
undefined method `build' for nil:NilClass
答案 0 :(得分:1)
根据您的表架构,关联应该类似于 - company has many references
和reference belong to a company
。在Company.rb
中,它应该如下所示 -
class Company
has_many :references
end
在Reference.rb
中,它应该像
class Reference
belongs_to :company
end