2011-07-08 15 views
1

私はブログを構築しており、私はRailsの初心者です。疑問は、これらのあまりにも多くのモデル間の関連を確立する方法です:投稿と言語。これらの2つのモデルの間の適切な関連付けは何ですか?

ちょうど2つの言語があり、各投稿は1つの言語のみ(belongs_to/has)になります。正しいものは次のように考えていました。

class Post < ActiveRecord::Base 
    belongs_to :language 
end 

class Language < ActiveRecord::Base 
    has_many :posts 
end 

正しいアプローチですか?私は間違っているのですか?

このような初心者ご質問には申し訳ありません。前もって感謝します。

答えて

1

あなたは正しいですか?多対1の関係に2つのモデルがある場合、唯一のオプションはhas_manyを「1」モデルに、belongs_toを「多数」モデルに入れることです。したがって、あなたのケースでは、あなたが提供したスニペットが本当に必要です。

postsテーブルはlanguage_id列(正しいと思われる)を持ち、コードはpost.languagelanguage.postsを指すことに注意してください。

関連する問題