我是rails_admin gem的新手。我想在rails_admin中创建:style
字段,就像选项的下拉列表一样,而不是普通的输入字段。
这是我的迁移:
class CreatePhones < ActiveRecord::Migration
def change
create_table :phones do |t|
t.string :audio
t.string :video
t.string :style
t.timestamps
end
end
end
这是我的Phone.rb模型:
class Phone < ActiveRecord::Base
def style_enum
["Free", "Basic", "Advanced", "Super Platinum"]
end
end
我在documentaion和this手册中读到了railsadmin中的枚举和下拉列表,但似乎没有任何效果。
我收到此错误:
感谢您的关注:)
答案 0 :(得分:2)
您可以尝试在手机型号中添加此块:
class Phone < ActiveRecord::Base
rails_admin do
field :style, :enum do
enum do
%w(a b c d)
end
end
end
end
答案 1 :(得分:0)
我通常使用https://github.com/brainspec/enumerize
执行此操作class Phone < ActiveRecord::Base
...
extend Enumerize
enumerize :style, in: ['style1', 'style']
...
这将使用这些值创建RA下拉列表并强制执行枚举。
当您有更多动态限制值时,执行field :style, :enum do
非常有用。您可以执行bindings[:object]
并查询数据库中的值。