2016-04-22 11 views
0

私はもう一度データベースを2回チェックしてみようとしており、メソッドエラーが発生しています。私はgradとしてリストされている任意の@person.subordinates.positionがあるかどうかを確認する必要がある最初のエリアでRails 4 IFチェックの構文

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

2つ目は、同じ内容の多くが、ダブルチェックである...

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

データベースに格納されます。第2の領域では、それが2つの位置のどちらかであるかどうかを確認する必要があります。

+0

書き込みエラーは、してください – Ilya

+0

**未定義のメソッド '位置」:

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

そして:それをマッピングし、正しいEnumerable#any?構文を使用してみてください** 私は投稿に入れた行を呼び出しています。 – lostrennie

答えて

1

positionはちょうど関連です。 <:: CollectionProxy []はActiveRecord ::協会>#用

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