我正在尝试获取一个根据所有者名称组织的项目的下拉列表。为此,我使用了SimpleForm和grouped_select方法。问题在于,目前它是一个散列,它被发送回下拉列表,而不是项目的名称。我如何在此哈希中仅获得项目名称?
这就是我定义收藏集的方式
def option_clients_projects
unless self.contractor.nil?
opt_clients = self.contractor.construction_projects.map{ |cp| {:construction_project => cp.name, :client_name => cp.client.name} }
opt_clients << {:construction_project =>"Add a new project", :client_name => ""}
opt_clients
end
end
//This is what i get out this method//
[{:construction_project=>"Toilette fr", :client_name=>"Martine depouhon"}, {:construction_project=>"démolition Chateau", :client_name=>"Carla"}]
>
这是我在SimpleForm中输入的grouped_select
<%= f.input :construction_project_id, collection: current_user.option_clients_projects.group_by{ |d| d[:client_name] }, as: :grouped_select, group_method: :last, group_label_method: :first %>
//The result of the group_by operation//
{"Martine depouhon"=>[{:construction_project=>"Toilette fr", :client_name=>"Martine depouhon"}], "Carla "=>[{:construction_project=>"démolition Chateau 2 2", :client_name=>"Carla "}]}
>
group_method -方法的名称,当对集合成员进行调用时,该方法将返回表示标记的子对象数组。