2017-01-23 1 views
0

나는 associado의 목록을 가지고 있으며 eh_proprietariotrue을 반환하는 것을 선택하고 싶습니다. 나는이 두 인스턴스에 대해 true를 반환 볼 수있는 puts "#{e.eh_proprietario}"를 추가하는 경우이지도가 왜 작동하지 않습니까?

@possiveis_associados = associados.map { |e| e if e.eh_proprietario} 

,하지만 난이 컬렉션을 사용하려고하면 @possiveis_associados이 전무이기 때문에 내보기에, 오류가 발생합니다 : 이것은 매핑입니다.

<%= m.select :associado_id , options_from_collection_for_select(@possiveis_associados, :id, :razao_social), {include_blank: false}, {class: 'form-control'}%> 

내가 뭘 잘못하고 있니?

답변

2

select이 아닌 map을 찾고 있습니다.

@possiveis_associados = associados.select(&:eh_proprietario) 
+0

가 부정 함께 사용할 수 선택할 수 있습니다 짧은

@possiveis_associados = associados.select { |e| e.eh_proprietario } 

또는를 시도? '.select (& :! eh_proprietario)'와 같은가요? – Tuma

+1

그것에 대해'reject'를 사용하십시오. 'associados.reject (& : eh_proprietario)' – Ursus