【问题标题】:How to set selected_key in Rails grouped_options_for_select?如何在 Rails grouped_options_for_select 中设置 selected_key?
【发布时间】:2015-11-05 02:55:10
【问题描述】:

我的下拉菜单中有这个:

<%= select_tag 'daily_order[kitchen_id]', grouped_options_for_select(Kitchen.for_normal_and_atworld_kitchens_select, selected_key = :id, options = {}), class: "form-control", onchange: "kitchen_change()" %>

但是当我通过:id 时,selected_key 不起作用。

当我这样硬编码时:

<%= select_tag 'daily_order[kitchen_id]', grouped_options_for_select(Kitchen.for_normal_and_atworld_kitchens_select, selected_key = 5, options = {}), class: "form-control", onchange: "kitchen_change()" %>

一切正常。

我的厨房模型:

def self.for_normal_and_atworld_kitchens_select
    {
      'Normal Kitchens' => where(special_kitchen: false, atworld: false).where.not(id: @exclude_kitchens).map {|x| [x.name, x.id]},
      'Around The World Kitchens' => where(special_kitchen: false, atworld: true).where.not(id: @exclude_kitchens).map {|x| [x.name, x.id]}
    }
  end

我现在应该怎么做才能使这个grouped_options_for_select selected_key 工作?

注意

@exclude_kitchens 是一组厨房 ID,例如 [1, 2, 3]。它返回正确的输出并且在项目的其他地方工作正常。

【问题讨论】:

    标签: html ruby-on-rails ruby ruby-on-rails-4 drop-down-menu


    【解决方案1】:

    :id 应该代表什么符号?您必须传递一个或多个值才能被选中。看看doc

    您需要以某种方式动态获取 ID 的副本,例如@exclude_kitchens.first 或任何有意义的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多