我有一个用户资源,并且我希望仅在该用户登录时才在 show.html.erb 文件中显示“编辑”链接。请参阅屏幕截图。
这是用户列表。请注意,右上角显示 Roger Sterling 已登录。
但是如果我单击 Don Draper,show.html.erb 文件会显示“编辑”按钮。在这种情况下,我只希望罗杰·斯特林出现这一点。
我正在使用 Devise 进行身份验证。关于如何实现这一目标有什么想法吗?如果您需要查看任何可用的代码,请告诉我。
最佳答案
您可以检查当前用户和用户是否显示,如果它们相同,将显示“编辑”链接。您可以像这样定义一个辅助方法:
def correct_user?(user)
user == current_user
end
在 UsersController 的显示操作中将有:
def show
@user = User.find(params[:id])
...
end
在您看来,您可以检查:
<% if correct_user?(@user) %>
<%= link_to 'Edit', @user %>
<% end %>
关于ruby-on-rails-3 - 仅当用户登录时显示编辑用户链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13226832/