我是 Rails 新手,正在开发我的第一个应用程序。我想要实现的是一个像 Facebook 一样有自己的墙和评论的群组。听起来很容易:)
我目前有 3 个模型:群组、帖子和评论。这是代码:
class Group < ActiveRecord::Base
attr_accessible :affiliation, :group_name, :group_type, :string
validates :group_name, :presence => true
has_many :posts, :dependent => :destroy, :foreign_key => "id"
end
class Post < ActiveRecord::Base
attr_accessible :body, :posted_by, :posted_by_uid
validates :body, :presence => true
belongs_to :group
has_many :comments, :dependent => :destroy
end
class Comment < ActiveRecord::Base
attr_accessible :body, :commenter
belongs_to :post
end
我设法正确地将评论与帖子联系起来。它的观点是OK的。但是当我出于某种原因尝试将帖子与群组相关联时,帖子(带有相应的评论)没有显示出来。
这是显示视图的片段:
<b>Posts</b>
<%= render @group.posts %>
帖子部分(帖子目录中的_post.html.erb)
<h1>New post</h1>
<%= render 'form' %>
<p>
<b> Content </b>
<%= @post.body %>
</p>
<h2>Comments</h2>
<%= render @post.comments %>
<h2>Add a comment:</h2>
<%= render "comments/form" %>
<br />
PS我不知道为什么我添加了外键,但是没有它我会得到错误(列group.posts.id不存在),我只是以某种方式发现它与stackoverflow上的其他问题相比,外键可能会选择问题. 确实如此,但它没有显示帖子。