0

掲示板があります。AUserは新しいを作成できますDiscussion。AUserは、に新しいPostを作成することもできますDiscussion

user.rb

has_many :discussions 
has_many :replies, through: :discussions, source: :posts

したがって、aDiscussionには多くPostsの異なるに属するものがたくさんありますUsers。私のページに、すべてとそれに対応するshowを表示したいと思います。で投稿を取得できることはわかっています。しかし、私は反対の方法を理解することはできません:私が持っている場合は?PostsUsersUser'suser.repliesUserPost

これが私がこれまでに持っているものです:

<% @posts.each do |post| %>
  <div class="discussion_right">
    <div class="discussion_head">
      <% t = post.created_at %>
      <%= t.strftime("Posted on %b %-d, %Y %l:%M %P") %>
    </div>
    <div class="discussion_body">
      <%= post.body %>
    </div>
  </div>
  <div class="discussion_left">
    <div class="discussion_head">
      <%= post.user.first_name %>
    </div>
  </div>
<% end %>

ディスカッション.rb

belongs_to :user
has_many :posts

post.rb

belongs_to :discussion

明らかにラインpost.user.first_nameは機能しません...

4

1 に答える 1

0

ユーザーが投稿を作成できる場合は、user_id投稿にを追加してbelongs_to関係を追加する必要があります

rails g migration add_user_id_to_posts user_id:references
rake db:migrate

# post.rb
belongs_to :user

次に、クエリを実行できるはずですpost.user

于 2013-03-13T23:41:36.767 に答える