ruby-on-rails - rails - 禁用选择标签

标签 ruby-on-rails form-helpers

我正在尝试禁用选择标签。填充我们的不是数据库属性而是整数数组的选项,因此 collection_select 在这种情况下似乎不起作用。

技术1:

select_tag(:zev_qty, options_for_select(display_quantity(@order_subject_supplies_request.site), {:disabled => display_quantity(@order_subject_supplies_request.site)}))

def display_quantity(site)
  if site
    site.open_site? ? [[0,0],[1,1],[2,2]] : [[0,0],[1,1]]
  else
    []
  end
end

以上不是我想要的。它禁用选项而不是选择标签。

技术2:
f.select(:zev_qty, display_quantity(@order_subject_supplies_request.site), {:disabled => true})
  def display_quantity(site)
    if site
      site.open_site? ? [0,1,2] : [0,1]
    else
      []
    end
  end

以上是行不通的。没有禁用任何选项。

虽然在两种情况下都在下拉列表中显示了正确的值,但并未禁用 select 标记,请注意,在此示例中,我只是将 disabled 设置为 true,但当然我会有条件地禁用 select 标记。

最佳答案

select方法定义为

f.select(method, choices, options = {}, html_options = {}),

所以你的第二次尝试几乎是正确的,除了必须在作为第四个参数的哈希中指定禁用选项才能作为属性应用于选择标签本身。

关于ruby-on-rails - rails - 禁用选择标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11192851/

相关文章:

ruby-on-rails - 了解 Rails 4 和 pubnub 集成

twitter-bootstrap - 如何将 id 添加到 bootstrap formhelper datepicker

html - 如何修改cakephp输入中的参数(样式,类..)?

ruby-on-rails - 为什么带有额外参数的 button_tag 会出错?

ruby-on-rails - 在 time_zone_select 上应用 CSS 类

javascript - Rails 4,在内存中加载 api 响应以进行下拉选择?

ruby-on-rails - 你如何完全删除 sqlite3?

ruby-on-rails-3 - f.collection_select 不工作 Rails 3 (has_many/belongs_to)

javascript - 尝试在不同域上使用 CORS 和 XSRF

ruby-on-rails - 事件记录更新所有 JSON 字段