轨道+ rolify + activeadmin。管理多态关联

时间:2013-12-18 19:59:38

标签: ruby-on-rails activeadmin formtastic rolify

我正在使用rolify和activeadmin宝石。 默认情况下,rolify创建角色模型:

#models/role.rb created by rolify
class Role < ActiveRecord::Base
  has_and_belongs_to_many :users, :join_table => :users_roles
  belongs_to :resource, :polymorphic => true

  scopify

end

这是schema.rb:

  #db/schema.rb 
  create_table "roles", :force => true do |t|
    t.string   "name"
    t.integer  "resource_id"
    t.string   "resource_type"
    t.datetime "created_at",    :null => false
    t.datetime "updated_at",    :null => false
  end

  add_index "roles", ["name", "resource_type", "resource_id"], :name => "index_roles_on_name_and_resource_type_and_resource_id"
  add_index "roles", ["name"], :name => "index_roles_on_name"

管理我在活动管理员中注册角色模型的角色:

$rails generate active_admin:resource Role

这是活跃管理员中的角色:

#app/admin/Role.rb
ActiveAdmin.register Role do
end

当我进入活动管理网页并点击Roles链接时,浏览器会在表格中显示我的角色,没关系。但显示的字段只有这个:

#http://localhost:3000/admin/roles
Id => 1
Name => "john"
Resource_Type => "RESOURCE" #ok,but I would like to see also resource_id
Created At => "December 18, 2013 18:33"
Updated At => "December 18, 2013 19:33"

问题是缺少字段resource_id。由于关系是多态的,因此也应该将resource_id看作resource_type。

你有什么想法吗?

0 个答案:

没有答案