2017-03-17 23 views
0

我正在一个维基百科类型的博客文章有多个作者。例如:第1条由john创建,后来由steve,bob,jane等编辑。那么,如何创建模型,如果我查询Article1.authors它为我提供了Article1的所有作者,即约翰,史蒂夫,鲍勃,简和他们编辑它的时间。这是一个学习的个人项目。我不知道如何去与模型关系。文章与多个作者模型关系

回答

0

我想你应该创建这条线的文章型号:

has_many :authors 

而与此行的作者模型:

belongs_to :article 

多亏了这一点,你应该访问所有笔者在文章模式,所以在你的文章控制器,如果你写:

# all articles 
def index 
    @articles = Article.all 
end 

def show 
    @article = Article.find(params[:id]) 
    # here you have access to all the authors 
    @authors = @article.authors 
end 

我希望这帮助!

+0

你能解释一下表映射是如何工作的吗?这也将提供作者在什么时候编辑它?对不起初学者这里。 –

+0

它很简单,has_many/belongs_to允许模型关系,所以您将有一篇文章与许多作者,并且在您的文章模型中,您应该添加一行时间戳以允许“created_at”和“updated_at”,您使用sqlite 3作为数据库? –

+0

是的,我正在使用sqlite 3.有没有办法与has_many:通过或你提到的答案更好?我想因为一篇文章可以有很多作者以及作者可以写很多文章,我们有很多很多,我们可以使用has_many:通过 –