我只是想要最简单的解决方案来检查用户是否是当前用户,并根据答案每次呈现略有不同的视图。
我/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 %>
我每次都可以尝试,但我认为这会造成冗长的代码或许多部分的混乱。
我也可以尝试创建第二个视图,但我不知道我是否在这里有效地工作:
控制器
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
还有比上述更有效的解决方案吗?