Active admin列中的下拉列表

时间:2014-03-19 12:00:27

标签: ruby-on-rails drop-down-menu activeadmin

作为有效的管理列,我需要一个下拉列表。我做完了

column "Action" do
  select :design, :collection => options_for_select(['a','b','c'])
end

它只显示 b c

但选项 a 未显示在下拉列表中。为什么?我该如何解决?

如果我给['ad', 'as', 'dsa', 'asfs'],则显示最后三个值。第一个'ad'消失了。

3 个答案:

答案 0 :(得分:1)

我遇到了几乎相同的问题,所以使用你的例子

column "Action" do
  select :design, :collection => options_for_select(['a','b','c'])
end

给出了html

<select collection="<option value="a"="">a
  <option value="b">b</option>
  <option value="c">c</option>
  design
</select>

与您提出的问题类似,仅显示选项bc

我不知道为什么它总是将第一个选项标签放在select标签内,但如果有人有答案,请分享!

但是,我们解决这个问题的方法是自己设置每个<option>标记

select :design do 
  %w(a b c).each do |opt|
    option opt, :value => opt
  end
end

这给了我们html

<select> design
  <option value="a">a</option>
  <option value="b">b</option>
  <option value="c">c</option>
</select>

其中显示选项abc

我不确定这是否是您正在寻找的答案,但我希望这会有所帮助。

答案 1 :(得分:0)

是表格吗?

如果是这样,它应该是这样的

f.input :design, :as => :select, :collection => ["a","b","c"]

其中f是表单

的参数

我猜你有css问题,因为没有为列案例定义

答案 2 :(得分:0)

我正在使用rails 6和active_admin 2.7.0

我不知道为什么如果这样做可以使事情复杂化,例如:

  form title: 'Action' do |f|
    input :design, collection: ['a', 'b', 'c']
  end

我希望它没有问题,因为我正在这样做并且对我来说很好!希望这对某人有帮助:)