私はDeviseを使用しており、Punditの使用に興味がありますが、Rolifyと統合する必要があるのか 、それともスタンドアローンなのかについてはあまりわかりません. CanCanCan は Rolify とうまく連携します。ロール モデルが気に入っています。Pundit と Rolify があまり一緒に使用されていないように見える主な理由を見逃しているのでしょうか?
質問する
4393 次
2 に答える
45
一緒に使ってみませんか?このようなファッションで簡単に使用できます
class OrganisationPolicy
def initialize(user, organisation)
@user = user
@organisation = organisation
end
def index?
@user.has_role? :admin
end
def show?
@user.has_role?(:admin) || @user.organisation == @organisation
end
end
実際、rolify
とpundit
が結合されていないことは素晴らしいことであり、設計の失敗ではありません ;)
于 2015-02-04T13:44:27.067 に答える
1
私は最近、devise を使用して Rails 4 で Pundit gem を使用しました。私の経験によれば、Pundit は Rolify に依存しないスタンドアロン システムです。
Rolify を使用する代わりに、既存のデバイス ユーザー テーブルにロールを追加する移行を作成しました。これにより、ユーザーにロールを割り当て、ユーザーがどのロールを持っているかを確認できます。
私のプロジェクト用に作成したスキーマを見てください。
create_table "users", force: true do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
**t.boolean "is_admin"
t.boolean "is_daily_user"
ユーザー ロールの場所is_admin
とフィールドが追加されます。is_daily_user
お役に立てれば!
于 2014-10-05T20:01:17.323 に答える