私の Rails アプリでは、ユーザーは他のユーザーとの関係を説明する「接続」を作成できます。ユーザーは、他のユーザーのブログ投稿 (ここでは「作品」と呼びます) にコメントすることができます。ブログ投稿に対するコメントごとに、ユーザーと作者との関係を示したいと思います。Worksコントローラーでインスタンス変数を作成するのに問題があります。
Worksコントローラーのshowアクションでこれまでに持っているものは次のとおりです。
class WorksController < ApplicationController
def show
@work = Work.find(params[:id])
@workuser = @work.user_id
@connections = Connection.where(user_id: @workuser, otheruser_id: UNKNOWN).all
@comment = @work.comments.build
@comment.user = current_user
@comments = @work.comments.order("created_at DESC").where(work_id: @work).all
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @work }
end
end
end
インスタンス変数、具体的にはパラメータ@connections
に何を割り当てるかについて助けが必要です。これは、コメントを投稿したユーザーの user_id である必要があることは事実です。しかし、私はこのIDを取得する方法について困惑しています。otheruser_id:
モデルの関係は次のとおりです。
work.rb- belonts_to :user, has_many :comments
user.rb- has_many :works, has_many :comments, has_many :connections
connection.rb- belongs_to :user
他の情報を提供できる場合はお知らせください。どんな助けでも大歓迎です!
ありがとう!!
編集: コメント (ユーザー、作成者との関係、およびコメントの内容) を入力するビュー コードの簡略化されたバージョン:
<% @comments.each do |comment| %>
<%= link_to comment.user.full_name, comment.user if comment.user %>,
<%= @connections.description %>
<%= @comment.content %>
<% end %>