2011-07-08 71 views
1

我正在建立一个博客,我是一个Rails新手。疑问是关于如何建立这些模型之间的关联:帖子和语言。这两个模型之间的正确关联是什么?

只会有两种语言,每个帖子只会(属于/有)一种语言。我在想,正确的做法是:

class Post < ActiveRecord::Base 
    belongs_to :language 
end 

class Language < ActiveRecord::Base 
    has_many :posts 
end 

这是正确的做法吗?原因听起来更自然,认为一个职位has_one语言和语言belongs_to_many职位,但这种关联是不可能在铁轨,我错了吗?

对不起,这样一个新手问题。提前致谢。

回答

1

你是对的。如果您有两种模式处于多对一关系,则唯一的选择是将“has_many”放在“one”模型上,并将belongs_to放在“多”模型上。所以,就你而言,你确实需要你提供的片段。

请记住,这意味着你的posts表将携带language_id列(其中右的感觉),并且您的代码会引用post.languagelanguage.posts

相关问题