我正在尝试仅在当前用户是“主机”时显示删除按钮,但即使主机的用户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 %>
我使用了错误的语法吗?是否有更好的方式来有条件地显示项目?
答案 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语句将处理它是否在视图中呈现。