2016-02-17 2 views
2

Каков наилучший способ добавить поле выбора с параметрами и значением по умолчанию с помощью Simple Form и HAML?Rails/Simple Form - Как создать поле выбора с помощью HAML?

Это мой _form.html.haml и f.option не работает.

= simple_form_for @post do |f|                                  
    = f.input :title  
    = f.input :body 
    = f.label :category_id 
    = f.select :category_id, Category.all.map{|category| [category.name, category.id]} 
    = f.option{value: "undefined"} 
    %br 

= f.button :submit 

Любая помощь будет оценена :)

ответ

1
def get_select_data 
    data = Category.all.map{ |category| [category.name, category.id] } 
    data.push([.....]) 
    end 

Возможно поместить это в модели сервиса. Инициализировать модель в контроллере, и использовать его на ваш взгляд:

= f.select :category_id, @service_model.get_select_data 

Возможно, это будет нормально старт для вас

+0

Но is't существует какой-либо путь в стороне клиента (Haml)? – lin0x

+0

Это атрибут коллекции. Этот тип логики не для представления. – SirUncleCid

0

Правильный способ определения выбора и значения по умолчанию: = f.input :category_id, collection: Category.all.map{|category| [category.name, category.id]}, selected: 1 Атрибут selected устанавливает идентификатор элемента по умолчанию.

Вы можете найти более подробную информацию о выбирает в простой форме здесь: https://github.com/plataformatec/simple_form#collections

Смежные вопросы