【问题标题】:Can't get if and else statement to work无法使 if 和 else 语句起作用
【发布时间】:2015-11-15 20:05:07
【问题描述】:

我一直在玩弄我的 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。当我使用代码时,对于用户相册编辑页面和社区相册编辑页面,我只能从两者中得到 1 个结果。我不明白如果它不在社区页面内,我将如何制作 if 语句,它应该产生 else 语句。感谢所有帮助,谢谢。

【问题讨论】:

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


    【解决方案1】:

    我建议重构此代码以完全删除 if/else 语句。例如,以下提供完全相同的功能:

    <%= link_to "Edit", [:edit, @albumable, album], class: "album_edit" %>
    

    您可以在http://guides.rubyonrails.org/routing.html#creating-paths-and-urls-from-objects阅读更多相关信息

    【讨论】:

    • 非常感谢您提供的示例。它工作得很好,而且比尝试创建 if/else 语句要简单得多。十分感谢。我将阅读您提供的链接以获得更好的理解。
    【解决方案2】:

    改为比较 id 值。根据您如何使用记录加载这些变量,Ruby 可能认为它们不相等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多