我正在使用 rails_admin
和 devise
。我有一个普通的 User
模型(具有典型的 devise
属性)以及一个名为 role_type
的附加 integer
类型属性>。当我在浏览器中查看 http://0.0.0.0:5000/admin/user/1/edit
时,我看到十个 devise
属性,以及我的 Role type
(尽管它是一个 type="number"
input
字段)而我希望它是一个 select
下拉菜单.我做了一些搜索,并向 rails_admin.rb
添加了一个配置以及相应的部分,虽然我得到了我想要的下拉列表,这是我唯一得到的东西整个用户编辑 View 。
我想配置 rails_admin
显示 :role_type
字段的方式,同时(显然)还能够编辑其余的 User
字段。
db/migrate/20131119000715_add_role_type_to_user.rb
class AddRoleTypeToUser < ActiveRecord::Migration
def change
add_column :users, :role_type, :integer, null: false, default: 0
end
end
app/models/user.rb
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
ROLES = ['default', 'admin', 'moderator']
end
gem 文件
gem 'rails_admin', github: 'sferik/rails_admin'
config/initializers/rails_admin.rb
RailsAdmin.config do |config|
config.model User do
edit do
field :role_type do
partial 'form'
end
end
end
end
app/views/rails_admin/main/_form.html.erb
<%= form.select :role_type, User::ROLES.each_with_index.map { |e, i| [e, i] } %>
最佳答案
您可以在模型中创建一个返回 User::ROLES 的 role_type_enum 方法
关于ruby-on-rails - 如何配置 rails_admin 以将整数输入字段更改为选择字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20152496/