轨道/简单的表单 - 如何创建HAML一个选择框?

问题描述 投票:2回答:2

什么是添加使用简单的表单和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

任何帮助,将不胜感激 :)

ruby-on-rails haml simple-form
2个回答
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

或许,这将是您一个不错的开端


1
投票

定义选择和默认值的正确方法是:

= f.input :category_id, collection: Category.all.map{|category| [category.name, category.id]}, selected: 1

selected属性设置默认项的ID。

您可以找到有关在这里简单的表单中选择更多的信息:https://github.com/plataformatec/simple_form#collections

© www.soinside.com 2019 - 2024. All rights reserved.