SimpleForm (вы можете установить параметры label_method и value_method по умолчанию?) - PullRequest
0 голосов
/ 14 июня 2019

Используя SimpleForm, могу ли я установить значения по умолчанию для: label_method и: value_method, поэтому мне не нужно устанавливать его для каждого входа?

По умолчанию я имею в виду место для установки label_method и value_method для всех моих входов, поэтому мне не нужно устанавливать их для каждого входа.

Пример:

Вместо этого:

<%= f.association :model_in_question, include_blank: false, label_method: :label_for_form, value_method: :value_for_form %>

Я хочу это:

<%= f.association :model_in_question, include_blank: false %>

1 Ответ

0 голосов
/ 14 июня 2019

Я думаю, это то, что вы ищете:

Имя пользовательского ярлыка для простой ассоциации формы

<%= f.association :owner_type, :include_blank => false, :label_method => lambda { |owner| "#{owner.name} | #{owner.subtype_name}" } %>

Та же логика применяется для value_method. Поэтому, если у вас есть модель, вы можете создать метод с именами label_for_form и value_for_form, который возвращает требуемые значения. Тогда в вашей форме:

<%= f.association :model_in_question, include_blank: false, label_method: :label_for_form, value_method: :value_for_form %>

Пока объекты в вашей коллекции отвечают обоим этим методам, вам не нужно будет выписывать коллекцию вручную в форме.

...