2

ユーザーロールを追加するためにrolify gemを使用しています。Rails コンソールからロールを追加しようとすると、この問題が発生します。この問題に直面した人はいますか?

u = User.first
u.add_role(:admin).save!

エラーリスト ===

ActiveRecord::RecordInvalid: Validation failed: Resource type is not included in the list.

Rolify 移行ファイル ============

class RolifyCreateRoles < ActiveRecord::Migration
def change
create_table(:roles) do |t|
t.string :name
t.references :resource, :polymorphic => true
t.timestamps
end

create_table(:users_roles, :id => false) do |t|
  t.references :user
  t.references :role
end

add_index(:roles, :name)
add_index(:roles, [ :name, :resource_type, :resource_id ])
add_index(:users_roles, [ :user_id, :role_id ])

end
end`

ここから rolify をインストールするためのドキュメントに従いました == https://github.com/RolifyCommunity/rolify

4

4 に答える 4

0

@Sazzad以下のようにロールモデルを変更してください:

class Role < ActiveRecord::Base 
  has_and_belongs_to_many :users, :join_table => :users_roles belongs_to :resource, :polymorphic => true 

  scopify 
end
于 2015-01-12T10:55:56.883 に答える
0

バージョン >= 3.5 にはこれらの問題があります。当面はバージョン rolify 3.4 を使用してください。修正してプルリクエストを送ります。

于 2015-01-12T08:21:00.037 に答える