无法获得if和else语句来工作

时间:2015-11-15 20:05:08

标签: ruby-on-rails ruby-on-rails-4 if-statement

我一直在玩我的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语句。感谢所有帮助,谢谢。

2 个答案:

答案 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可能认为它们不相等。