如果已登录,则显示用户配置文件上控制器操作的链接

时间:2013-02-26 03:47:56

标签: ruby-on-rails devise ruby-on-rails-3.2

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

我目前在视图中有按钮,但没有检查只在自己的个人资料中显示此按钮。以下是观点:

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

按钮工作正常,将用户发送到/ works / new。但是,如何才能让此按钮仅出现在自己的个人资料页面上?

2 个答案:

答案 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 %>

作品