Devise kullanıyorum ve Pundit kullanarak ilgileniyorum, ancak Rolify ile entegre olmasının gerekip gerekmediği veya tek başına ise fazla bir şey bulamıyorum. CanCanCan, Rolify ile güzel çalışır ve rol modelini severim. Pundit ve Rolify'ın neden çok fazla kullanılmadığı konusunda önemli bir neden eksik miyim?Pundit neden CanCanCan gibi Rolify ile eşleşmiyor?
cevap
Neden bunları birlikte kullanmıyoruz?
Son zamanlarda Predit gemini Rails 4 ile birlikte kullanıyorum.Pundit, deneyimime göre Rolify'a bağımlı olmayan bağımsız bir sistemdir.
Rolify kullanmak yerine, kullanıcılara rol atamanıza ve sahip olduğunuz rolleri kontrol etmenize yardımcı olan mevcut plan kullanıcı tablosuna rol eklemek için geçiş oluşturdum.
Projem için oluşturulan şema bakmak edin: is_admin
ve is_daily_user
alan kullanıcı rolleri için eklenir
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"
.
Bu yardımcı olur umarız!
Bu işe yarayacak, ancak ölçeklenebilir değil. Bir is_premium kullanıcısı eklemek istediğinizi düşünün. DB modelinizi değiştirmek zorunda kalacaksınız. Bunun yerine kendi modeliniz olan UserRole (: id,: role_name), kullanıcı için istediğiniz sayıda rol ismi oluşturabileceğiniz kullanıcıya ait olan (...) Rolify gem ile birlikte gittim;) – luigi7up
Pundit Rolify ile sadece iyi çalışır); Kolayca Aslında bu
gibi bir moda kullanılabilir
rolify
vepundit
birleştiğinde olmadığını şey şey güzel değil, bir tasarım hatasıdır veya başka herhangi bir rol sistemi. – sevenseacat@sevenseacat Bu ayrıca doğru bir cevap – MicFin