2016-06-04 2 views
1

Im пытается сделать раскрывающийся блок выбора на рубин на рельсах, но выдало ошибку нижеNoMethodError - неопределенный метод - рубин на рельсах - коллекция выберите выпадающий

ошибка

NoMethodError - undefined method `typename' for {"typename"=>"dasds"}:Hash: 

зрения

= f.input :visitortype, collection: @visitor_types_collection, label_method: 'typename', include_blank: false, required: true, class:"form-control" 

контролер (что не так)

@visitor_types_collection = [{"typename" => "dasds"}] 

Для Вашей информации, я на самом деле пытается сделать это в (приведенном выше примере это только, чтобы получить некоторое представление о том, как его сделать):

{"visitor_types" => [{"typename" => "Friend", 
         "require_mgmt_approval" => "false"}, 
         {"typename" => "Delivery", 
         "require_mgmt_approval" => "true"}, 
         {"typename" => "Contractor", 
         "require_mgmt_approval" => "true"} 
         ]} 
+0

Пожалуйста, используйте карту здесь –

+0

как назначить Map @visitor_types_collection – Axil

+0

к сожалению, я имею в виду использовать выбрать здесь –

ответ

0

Не могли бы вы попробовать с ключевым форматом значения, как это:

в контроллере:

@visitor_types_collection = [['Option1','Value1'],['Option2','Value2']] 



= f.select :visitortype, collection: @visitor_types_collection, label_method: 'typename', include_blank: false, required: true, class:"form-control" 
+0

имеет ошибки: не определен метод 'карты» для ложной: FalseClass – Axil

+0

Я обновил код, пожалуйста, попробуйте и дайте мне знать, если он сработает для вас? –

+0

все еще с той же ошибкой: NoMethodError - неопределенный метод 'map 'for false: FalseClass: – Axil