为什么这张地图不起作用?

时间:2017-01-23 12:39:28

标签: ruby-on-rails ruby

我有一个associado列表,我想只选择eh_proprietario返回true的列表。这是映射:

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

如果我添加puts "#{e.eh_proprietario}"我可以看到它对两个实例返回true,但在我看来,当我尝试使用此集合时,我收到一个错误,因为@possiveis_associados是nil。

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

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您正在寻找select,而不是map。尝试

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

或更短

@possiveis_associados = associados.select(&:eh_proprietario)