1

我正在使用创业板postmarkdown在RoR中创建博客。 Gem中的Post模型不支持数据库(它使用ActiveModel)。我会如何将一个评论模型与Post模型相关联,以便博客不使用博客文章的数据库?Ruby on Rails - 如何将评论模型与无数据库的博客相关联

例如,通过一个ActiveRecord数据库支持一个典型的博客,我就可以建立关系(如)

class Post < ActiveRecord::Base 
has_many :comments 

然而,在这种情况下,我不知道要创建的最好方法评论模型。

回答

1

如果Post是activemodel,则无法使用activerecord中的方法设置关系。您可以在github处查阅自述文件。它没有这个功能。

您可以简单地在Post模型中定义自己的方法。

class Post 
    def comments 
    Comment.where(:post_id => id) 
    end 
end 

class Comment < ActiveRecord::Base 
    def post 
    Post.find_by_id(post_id) 
    end 
end 

编辑: 啊,我只是找到了类似的问题,Ruby on Rails 3 (3.1) ActiveModel Associations (tableless nested models)。你也可以检查一下。

+0

谢谢你的回答(对于迟到的回复抱歉)。在这种情况下,我应该如何处理我的routes.rb?评论资源是帖子内的嵌套资源吗? – diasks2

+0

是的,应该是。 – Chamnap

+0

谢谢,我会试试。 – diasks2