对于具有`belongs_to`定义的模型,在表的关系id列和类似列名之间发生冲突

时间:2012-05-11 18:19:33

标签: ruby-on-rails-3 associations

我正在使用Rails 3并尝试在名为Reseller的模型上与名为Company的模型建立关联。

我还有一个名为reseller的布尔字段。

因此,表格companies包含reseller:booleanreseller_id:integer列。

我在视图中对这两个列form_fields时遇到错误:

undefined method 'to_i' for "#<Reseller:0x007fc081e3cfa8>":Reseller

我希望处理reseller:boolean字段的地方发生错误:<%= c.check_box :reseller %>而不是转销商关联。

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

你放的那一刻

belongs_to :reseller

在您的公司模型中,您遇到了冲突,因为这会为您的关联创建转销商方法。

解决方案是重命名您的布尔值或您的关联。您也可以在不更改db的情况下执行后者:

belongs_to :company_reseller, :foreign_key => :reseller_id