如何配置rails_admin将整数输入字段更改为选择字段?

问题描述 投票:1回答:2

我正在将rails_admindevise一起使用。我有一个普通的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] } %>
ruby-on-rails forms configuration ruby-on-rails-4 rails-admin
2个回答
2
投票
您可以在模型中创建一个返回User :: ROLES的role_type_enum方法>

https://github.com/sferik/rails_admin/wiki/Enumeration


0
投票
我知道这有点晚了,但是我今天遇到了这个问题,找到了解决方案!如果有人偶然发现此问题:通过在rails_admin初始化程序中将field: you_column_name do更改为configure: your_column_name do,它仍应显示所有其他字段,并且仅更改指定的字段。
© www.soinside.com 2019 - 2024. All rights reserved.