0

我正在使用 Devise 在我的 Rails 应用程序中管理用户身份验证,如果用户已登录,我想在用户的个人资料页面上显示一个按钮。单击该按钮应链接到控制器中的“新”操作。我们称这个控制器为 Works。一个用户有很多作品。单击该按钮将允许用户将新作品添加到他/她的个人资料中。

我目前在视图中有这个按钮,但没有检查只在他们自己的个人资料上显示这个按钮。这是视图:

<%= link_to "Add work", { :controller => 'works', :action => 'new' }, :class => 'btn btn-primary btn-small' -%>

该按钮工作正常,并将用户发送到 /works/new。但是,我怎样才能让这个按钮只出现在自己的个人资料页面上?

4

2 回答 2

0

您可以将按钮包装在 if 块中:

  <% if current_user == @user %>

    <%= link_to "Add work", { :controller => 'works', :action => 'new' }, :class => 'btn btn-primary btn-small' -%>

  <% end %>
于 2013-02-26T03:55:59.100 回答
0

使用设计,current_user 是一个辅助方法,所以只是这样做

<% if current_user %>

作品

于 2013-02-26T05:58:40.263 回答