私は 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 %>
部分的な投稿 (Posts forlder の _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が存在しません)。スタックオーバーフローに関する他の質問と比較して、外部キーが問題を選択する可能性があることを何とか理解しました. ありましたが、投稿が表示されません。