用除非和Ruby显示对象

时间:2015-01-30 17:25:48

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

我想使用除非使用else语句。我想在else语句中确保对象不是第一个(因此,它不会中断)然后它不会在else中打印user.employers.first.name。

<% unless user.employers.empty? || (user.employers.size < 2) %>
                <%= link_to user.employers.first.name,show_companies_user_path(user), "data-toggle" => "modal","data-target" => "#myModal" %>
                   (<%=user.employers.size %>)
              <% else %>
                <%= user.employers.present?%>
                 <%= user.employers.first.name %> # I want to show this
              <% end %>

2 个答案:

答案 0 :(得分:3)

您可以这样使用unless,但unless - else是一种非常奇怪的模式。 unless的重点是if not有一个简单的快捷方式,但如果你有一个if *positive* else *alternative*类型模式,那么从unless开始的可读性低于if 1}}。

答案 1 :(得分:1)

我之前从未见过这种模式。我认为你应该采用if else模式。只是否定背后的逻辑,除非并使用if