我正在使用Devise在我的Rails应用程序中管理用户身份验证,如果他们已登录,我想在用户的个人资料页面上显示一个按钮。单击该按钮应链接到控制器中的“新”操作。我们称这个控制器为Works。用户有很多作品。单击该按钮将允许用户将新工作添加到他/她的个人资料中。
我目前在视图中有按钮,但没有检查只在自己的个人资料中显示此按钮。以下是观点:
<%= link_to "Add work", { :controller => 'works', :action => 'new' }, :class => 'btn btn-primary btn-small' -%>
按钮工作正常,将用户发送到/ works / new。但是,如何才能让此按钮仅出现在自己的个人资料页面上?
答案 0 :(得分:0)
您可以将按钮包装在if块中:
<% if current_user == @user %>
<%= link_to "Add work", { :controller => 'works', :action => 'new' }, :class => 'btn btn-primary btn-small' -%>
<% end %>
答案 1 :(得分:0)
使用devise,current_user是一个帮助方法,只需执行
<% if current_user %>
作品