ruby-on-rails - 如何配置 rails_admin 以将整数输入字段更改为选择字段?

标签 ruby-on-rails forms configuration ruby-on-rails-4 rails-admin

我正在使用 rails_admindevise。我有一个普通的 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 方法

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

关于ruby-on-rails - 如何配置 rails_admin 以将整数输入字段更改为选择字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20152496/

相关文章:

ruby-on-rails - 使用 gzip 压缩的 rails json 响应

java - EnableElasticSearchRepositories 异常

java - 使用 Liferay 上传大文件(GB 数据)

javascript - 在更改事件上绑定(bind)文本输入值 - React Native + Redux

javascript - 如何将表单字段的值设置为 JSON 中的值?

php - PHP Codeigniter 中的自定义验证 - 需要的两个字段之一

file - 如何在另一个应用程序域中加载 dll 的配置文件

ruby-on-rails - 为什么在 ubuntu 12.04 上完全跳过了 Ruby Daemons.run_proc block

ruby-on-rails - 在 Rails 上的 ajax 中传递文本字段值

ruby-on-rails - 选择附近最佳 field 以在 map 上显示的逻辑