link_to with dynamic:在rails中的类样式?

时间:2014-01-17 00:56:18

标签: ruby-on-rails

如何构建一个基于rails的link_to来启用和禁用它,所以例如禁用链接看起来像这样;

<%= link_to 'something', :somewhere, :class => 'btn btn-primary disabled' %>

但启用后会显示为

<%= link_to 'something', :somewhere, :class => 'btn btn-primary' %>

现在不要这样做;

<% if current_user.is_admin? %>
   <%= link_to 'something', :somewhere, :class => 'btn btn-primary' %>
<% else %>
   <%= link_to 'something', :somewhere, :class => 'btn btn-primary disabled' %>
<% end %>

有一种更干净,更简单的方法吗?

1 个答案:

答案 0 :(得分:6)

你可以用两种方式做到这一点:

字符串插值

<%= link_to 'something', :somewhere, :class => "btn btn-primary #{current_user.is_admin? ? 'enabled' : 'disabled'}" %>

<强> link_to_if

现在这并没有真正处理类,但如果不满足条件,它会使链接成为一个简单的文本

<%= link_to_if current_user.is_admin?, 'something', :somewhere, :class => 'btn btn-primary' %>