Rails / 简单表格 - 如何使用 HAML 创建一个 select 框?

Rails / Simple Form - How to create a select box with HAML?

使用 Simple Form 和 HAML 添加带有选项和默认值的 select 框的最佳方法是什么?

这是我的 _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

任何帮助将不胜感激:)

  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

也许这对你来说是个不错的开始

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

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

selected 属性设置默认项目的 ID。

您可以在此处以简单形式找到有关 selects 的更多信息:https://github.com/plataformatec/simple_form#collections