この関連タイプを理解するには少し助けが必要です。あまり意味がないと思われる関連
は、私が(ITEM_TYPEと項目)それITEM_TYPE
だけのカテゴリのような演技だ2つのモデルを持っているし、(タイトル)
表構造だけつのフィールドを持っている:
ITEM_TYPE:
- id
- タイトル
- created_at
- updated_atの
項目:
- ID ...
基本的に私はこのモデル間の単純な関連付けをしようとしています。
class ItemType < ActiveRecord::Base
belongs_to :item
end
class Item < ActiveRecord::Base
has_one :item_type
end
私はアイテムを作成し、それを保存し、私はそれを表示するためにフェッチしていたときに、それはちょうど、item_type.idの代わりにitem_type.titleを表示する必要がありますか?
foreign_keyを持つテーブルには常にbelongs_toが読み込まれていますが、この場合、私にはあまり意味がありません。また、has_oneをItemTypeクラスに置くこともできますItemsクラスへのbelongs_toは、この方法で動作します。私が持っているコントローラのコードで
:
def show
@item = Item.find(params[:id], :include => 'item_type')
end
とビューは、私が間違ってやっているだけ
<%= debug @item %>
で作成した関係を見るために目に見えるすべきですか?
showメソッドに適切なIDを渡していますか?例えば。 'http:// localhost/item/show/24'または' show?id = 24'?アイテムを作成するときにItemTypeをアイテムに割り当てましたか? '= item.new(:title =>" item type ")); a = Item.new(:title =>" item title "、price => 42、:type => ItemType.new a.save! '? – Dr1Ku
今、ちょうど今編集しました。編集コメントが見えますか? –
ああ、それを忘れる。私はインクルードパラメータを削除し、うまくいきます。ビュー上で@ item.item_type.titleを使って表示するだけです。ありがとうございました! –