Простая форма с выбором коллекции, возвращающей хеш - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь получить выпадающий список проектов, организованных по имени владельца. Для этого я использую 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"}]

>

Это мой вклад в качестве grouped_select в моей SimpleForm

    <%= 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 "}]}
    >

The visual result of my code

group_method - Имя метода, который при вызове члена коллекции возвращает массив дочерних объектов, представляющих теги.

...