我一直在玩我的if和else声明,但它总是提供一个。
首先尝试
<% if @albumable == @user %>
<%= link_to "Edit", edit_community_album_path(@albumable, album), class: "album_edit" %>
<% else %>
<%= link_to "Ediiiit", edit_user_album_path(@albumable, album), class: "album_edit" %>
<% end %>
第二次尝试
<% if @community == @community_id %>
Albumable将是user_id或community_id。当我玩代码时,我只能从用户相册编辑页面和社区相册编辑页面获得两个结果。我不明白如果它不在社区页面内,我将如何制作if语句,它应该产生else语句。感谢所有帮助,谢谢。
答案 0 :(得分:1)
我建议重构此代码以完全删除if / else语句。例如,以下内容提供了完全相同的功能:
<%= link_to "Edit", [:edit, @albumable, album], class: "album_edit" %>
您可以在http://guides.rubyonrails.org/routing.html#creating-paths-and-urls-from-objects
了解详情答案 1 :(得分:0)
比较id
值。根据您使用记录加载这些变量的方式,Ruby可能认为它们不相等。