1

レールに少し問題があります。私は次のように見える継承されたデータベース(奇妙な列名を意味します)を持っています:

customer
---------
Customer_ID | name | fleet_size | category
1             'bob'     20          60

category
----------
Category_ID | Description
1               'Example Category'

したがって、顧客はカテゴリに属し、カテゴリには多くの顧客がいます。モデルは次のようになります。

class Category < ActiveRecord::Base
  set_table_name "category"

  has_many :customers, :foreign_key => "category"
end

class Customer < ActiveRecord::Base
  set_table_name "customer"

  belongs_to :category, :foreign_key => "Category_ID"
end

Customersテーブルの列の名前が原因で、ビューでcategory呼び出すことができないことを意味する競合がある可能性があると思い@customer.category.Descriptionます。これを解決するためのアイデアはありますか?

4

2 に答える 2

1

関連付けの名前はいつでも変更できます。

belongs_to :something_else, :class_name => "Category", :foreign_key => "Category_ID"
于 2013-01-15T12:24:33.057 に答える
1

協会名を変更し、

belongs_to :cust_category, :foreign_key => "Category_ID", :class => 'Category'

@customer.cust_category.Description

これで問題が解決するかもしれません。

于 2013-01-15T12:25:54.193 に答える