条件显示轨道

时间:2013-02-18 21:10:40

标签: css ruby-on-rails ruby

我正在尝试仅在当前用户是“主机”时显示删除按钮,但即使主机的用户ID与来宾的用户ID匹配,该按钮也会隐藏

<%= link_to "X" , "/songs?name=#{s.name}&party_profile_id=#{s.party_profile_id}&commit=X", :remote => true, :class => "btn btn-inverse btn-small refreshbutton", :style => "display:none" unless @current_user.id == @party_profile.host %>

我使用了错误的语法吗?是否有更好的方式来有条件地显示项目?

3 个答案:

答案 0 :(得分:5)

您可以切换到仅渲染它,而不是切换css类(除非您的应用程序因某种原因需要将其切换到客户端)。

<% if @current_user.id == @party_profile.host %>
    <%= link_to "X" , "/songs?name=#{s.name}&party_profile_id=#{s.party_profile_id}&commit=X", :remote => true %>
<% end %>

答案 1 :(得分:3)

您的情况将适用于链接本身,而不是style属性。

请改为:

<%= link_to "X" , "/songs?name=#{s.name}&party_profile_id=#{s.party_profile_id}&commit=X", :remote => true, :class => "btn btn-inverse btn-small refreshbutton", :style => "#{'display:none;' unless @current_user.id == @party_profile.host}"  %>

答案 2 :(得分:1)

不应该是

if @current_user.id == @party_profile.host

编辑:

您无需将样式设置为不显示。 if语句将处理它是否在视图中呈现。