Я использую grouped_collection_select
с полиморфными ассоциациями, чтобы назначить либо задачу company
, либо person
. Проблема в том, что у людей есть имя и фамилия, а у компании просто есть имя. Я хотел бы использовать ссылку :fname
и lname
как option_key_method
для группы лиц в меню, и я хотел бы использовать :name
как option_key_method
для группы компаний в меню.grouped_collection_select с различными параметрами option_key_methods
Я, однако, не сталкивался с этим в своем расследовании Google. Как она стоит, я использую :email
как option_key_method
, потому что это самый отличительные поля, которая разделяет две модели:
<%= f.grouped_collection_select :entity_id, [Company, Person], :all, :model_name, :to_global_id, :email %>
Как я могу настроить его, чтобы сделать использование двух различных типов полей имен, реализованы двумя разными моделями?
Большой решение. Метод лямбда запустил синтаксическую ошибку (ей не понравился двоеточие между двумя типами имен), который я использовал, используя следующее: 'lambda {| company_or_person_object | company_or_person_object.instance_of? Компания? rescue company_or_person_object.fname + "" + company_or_person_object.lname rescue company_or_person_object.name} ' – neanderslob
можно ли настроить коллекцию или group_method? например, вместо этого: все, что я хочу использовать .where (account_id: id) и вместо этого: model_name Я хочу использовать model_name.gsub – Moh