Rails 3 アプリには 3 つのモデルがあります。
ユーザー
モデル:
has_many :videos, :dependent => :destroy
コントローラ:
before_filter :signed_in_user
def show
@user = User.find(params[:id])
end
def signed_in_user
unless signed_in?
store_location
redirect_to signin_path, notice: "Please sign in."
end
end
ビデオ
モデル:
belongs_to :user
has_many :surveys, :dependent => :destroy
コントローラ:
before_filter :signed_in_user
def signed_in_user
unless signed_in?
store_location
redirect_to signin_path, notice: "Please sign in."
end
end
def show
@video = Video.find(params[:id])
@original_video = @video.panda_video
@h264_encoding = @original_video.encodings["h264"]
@surveys = Survey.all
@user = User.find(params[:id])
end
調査
モデル:
belongs_to :video
コントローラ:
before_filter :signed_in_user
def signed_in_user
unless signed_in?
store_location
redirect_to signin_path, notice: "Please sign in."
end
end
def show
@survey = Survey.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @survey }
end
end
したがって、私のアプリでは、ユーザーには多くのビデオがあり、各ビデオには多くの調査 (別名レビュー) があります。Rotten Tomatoes がどのように機能するかを考えてみてください。ユーザーは、ビデオにアクセスするか、レビューを書くためにサインインしています。サインイン中にユーザーが送信したレビューは、自動的にそのユーザーに関連付けられます...これが私のアプリで理解しようとしていることです。
ユーザー ID をレビューに関連付けるにはどうすればよいですか? 現在、ユーザーがサインインすると、そのユーザーが書いたかどうかに関係なく、そのユーザーの名前がすべてのレビューに自動的に関連付けられます。