Как добавить обязательное значение true в поле типа collection_select - PullRequest
0 голосов
/ 01 апреля 2019

Я уже пытался добавить required => true и: prompt => "select ..." в поле collection_select, но каждый раз, когда я получаю синтаксическую ошибку.Как решить эту ошибку, которая ниже.

.field
  = f.label "Receiver"
  = f.collection_select(:receiver_admin_id, 
        Admin.agent_and_admin(current_admin.id, current_admin.parent_master_agent_id), 
        :id, 
        :agent_name, 
        :prompt => 'Select receiver', 
        {multiple: true}), 
      :required => true
  = f.collection_select(:receiver_admin_id, 
        Admin.agent_and_admin(current_admin.id, current_admin.parent_master_agent_id), 
        :id, 
        :agent_name, 
        :prompt => 'Select receiver', 
        {multiple: true, required: true})

  = f.collection_select(:receiver_admin_id, 
        Admin.agent_and_admin(current_admin.id, current_admin.parent_master_agent_id), 
        :id, 
        :agent_name, 
        :prompt => 'Select receiver',
        {}, 
        {multiple: true}), 
      :required => true
  = f.collection_select :receiver_admin_id, 
        Admin.agent_and_admin(current_admin.id, current_admin.parent_master_agent_id), 
        :id, 
        :agent_name, 
        :prompt => 'Select receiver', 
        {multiple: true}, 
        :required => true

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Вы были близки почти всегда :) Из документов в руководстве по рельсам у вас есть:

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})

Использование помощников по формам (f.) означает, что об объекте (первом аргументе) позаботятся, поэтому у вас останется:

method, collection, value_method, text_method, options, html_options

И кратное, и обязательное должны быть в html_options так:

= f.collection_select(:receiver_admin_id, Admin.agent_and_admin(current_admin.id, current_admin.parent_master_agent_id), :id, :agent_name, { :prompt => 'Select receiver' }, multiple: true, :required => true)

0 голосов
/ 01 апреля 2019

Попробуйте, пожалуйста:

  = f.collection_select :receiver_admin_id, Admin.agent_and_admin(current_admin.id, current_admin.parent_master_agent_id), :id, :agent_name, {prompt: 'Select receiver'}, {multiple: true, required: true}
...