我有一个用户资源,我只想在该用户登录时在show.html.erb文件中显示“编辑”链接。请参阅屏幕截图。
以下是用户列表。请注意右上角Roger Sterling已登录。
但如果我点击Don Draper,show.html.erb文件会显示“编辑”按钮。在这种情况下,我只想让Roger Sterling出现。
我正在使用Devise进行身份验证。有关如何实现这一目标的任何想法?如果您需要查看任何可用代码,请告诉我们。
答案 0 :(得分:3)
您可以查看current_user并显示用户,如果它们相同,则链接“编辑”'会显示。您可以定义一个这样的辅助方法:
def correct_user?(user)
user == current_user
end
在UsersController的show动作中将有:
def show
@user = User.find(params[:id])
...
end
在您看来,您可以查看:
<% if correct_user?(@user) %>
<%= link_to 'Edit', @user %>
<% end %>
答案 1 :(得分:2)
哈。好,我知道了。
以下是show.html.erb文件中的循环:
<% if (@user.name == current_user.name) %>
<%= link_to 'Edit', edit_user_registration_path(@user) %>
<% end %>
辅助方法:
def correct_user
user == current_user
end
感谢你朝着正确的方向前进!