rails_admin枚举问题

时间:2013-11-13 20:23:50

标签: ruby-on-rails ruby activerecord rails-admin

我是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

我在documentaionthis手册中读到了railsadmin中的枚举和下拉列表,但似乎没有任何效果。

我收到此错误:

感谢您的关注:)

2 个答案:

答案 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]并查询数据库中的值。