Rails 4 IF检查语法

时间:2016-04-22 19:38:33

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

我正在尝试再次对数据库进行两次检查,我收到了方法错误。

    <% if @person.subordinates.position.any == 'grad' %>
        <h3>Neuro Grads</h3>
        <table>
        CONTENT
        </table>
    <% end %>

第二个内容大致相同,但经过双重检查......

<% if @person.subordinates.position.any == 'nn-grad' or 'nn-postdoc' %>

在第一个区域中,我需要检查数据库中是否有@person.subordinates.position列为grad。在第二个区域,我需要检查它是否是两个位置中的任何一个。

1 个答案:

答案 0 :(得分:1)

似乎position只是关联。尝试映射它并使用正确的Enumerable#any?语法:

if @person.subordinates.map(&:position).any? {|p| p == 'grad'}

if @person.subordinates.map(&:position)
                       .any? {|p| p == 'nn-grad' || p == 'nn-postdoc' }