2016-04-22 75 views
0

我想再次做兩個檢查數據庫,我得到的方法錯誤。Rails 4 IF檢查語法

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

,第二個是大致相同的內容,但具有雙重檢查...

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

在我需要檢查是否有被列爲grad任何@person.subordinates.position第一區在數據庫中。在第二個領域,我需要檢查它是否是兩個位置之一。

+0

寫錯誤,請 – Ilya

+0

**未定義的方法'位置」的#<的ActiveRecord ::協會:: CollectionProxy []> ** 它正在調用我發佈的帖子。 – lostrennie

回答

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' }