0

BudgetLine モデルがあります。モデルには Budget_item_id 列があります。

2 番目のモデルは BudgetItem です。ID と列 (full_name) があります。

次に、budget_line.item_name を呼び出して、BudgetItem の full_name に対応する名前を取得します。

私は(BudgetLineで)試しました:

has_one :item_name, :class_name => 'BudgetItem', :foreign_key => 'budget_item_id'

しかし、それは機能していません。

4

2 に答える 2

0

外部キーはBudgetLineモデル内にあるため、belongs_to関連付けが必要です。

belongs_to :item_name, class_name: 'BudgetItem', foreign_key: 'budget_item_id'

item_name のみを返すメソッドが必要な場合は、関連付けの名前を変更して別のメソッドを追加することをお勧めします。

belongs_to :budget_item

def item_name
  budget_item.try(:full_name)
end
于 2013-08-13T12:26:52.227 に答える
0

BudgetLine に書き込む代わりに

has_one :item_name, :class_name => 'BudgetItem', :foreign_key => 'budget_item_id'

あなたは書くべきです

belongs_to :item_name, :class_name => 'BudgetItem', :foreign_key => 'budget_item_id'
于 2013-08-13T12:29:01.390 に答える