我正在将rails_admin
与devise
一起使用。我有一个普通的User
模型(具有典型的devise
属性)以及一个名为integer
的附加role_type
类型属性。当我在浏览器中查看http://0.0.0.0:5000/admin/user/1/edit
时,我看到十个devise
属性以及我的Role type
(尽管它是type="number"
input
字段),而我希望它是select
下拉菜单。我进行了一些搜索,并为rails_admin.rb
和相应的部分添加了配置,尽管我得到了想要的下拉菜单,但[[这是整个用户编辑视图的唯一内容。
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
Gemfile
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] } %>
field: you_column_name do
更改为configure: your_column_name do
,它仍应显示所有其他字段,并且仅更改指定的字段。