ユーザーが現在のユーザーであるかどうかを確認し、その答えに基づいて、毎回わずかに異なるビューをレンダリングする最も簡単なソリューションが必要です。
/users/:id
ユーザーごとにルートがshow
あります。users_controller
コントローラ
def show
@user = User.find(params[:id])
respond_to do |format|
format.html #show.html.erb
end
end
show.html.erb
多くの場所でファイルを変更したい。<% if @user == current_user %>
毎回試すことができましたが、長いコードや多くのパーシャルで混乱を招くと思いました。
2 番目のビューを作成することもできますが、ここで効率的に作業しているかどうかはわかりません。
コントローラ
def show
@user = User.find(params[:id])
if @user = current_user
redirect_to show_is_current_user
else
respond_to do |format|
format.html #show.html.erb
end
end
end
def show_is_current_user
@user = User.find(params[:id])
respond_to do |format|
format.html #show_is_current_user.html.erb
end
end
上記よりも効率的なソリューションはありますか?