J'explore Rails pour la première fois et j'essaie d'ajouter une sécurité basée sur les rôles relativement simple à mon application de test . Certains Googling semblait indiquer rails-authorization est le chemin à parcourir pour cela. J'ai suivi le README et tout semblait aller bien, mais maintenant j'essaie d'associer un User
avec un Role
et il échoue. Voici l'extrait de ma script/console
session:'column' id "n'existe pas 'erreur lors de la tentative d'association d'un rôle avec un utilisateur utilisant rails-autorisation
>> u = User.find(:first)
=> #<User id: 1, login: "cwhit", name: "", email: "[email protected]", crypted_password: "7ac064547fb8992e8e53e936df31657a40f9c5af", salt: "56671492059f8e40eb3d509940944aaba31ebc72", created_at: "2009-03-26 18:06:04", updated_at: "2009-03-26 18:06:04", remember_token: nil, remember_token_expires_at: nil>
>> r = Role.find(:first)
=> #<Role id: 1, name: "ProjectManager", authorizable_type: nil, authorizable_id: nil, created_at: "2009-03-27 11:02:35", updated_at: "2009-03-27 11:02:35">
>> u.has_role r
ActiveRecord::StatementInvalid: PGError: ERROR: column "id" does not exist
LINE 1: ....546623', '2009-03-27 11:42:16.546623', 5, 1) RETURNING "id"
^
: INSERT INTO "roles_users" ("created_at", "updated_at", "role_id", "user_id") VALUES('2009-03-27 11:42:16.546623', '2009-03-27 11:42:16.546623', 5, 1) RETURNING "id"
que je fais juste quelque chose de stupide, ou est-ce un problème connu? J'ai trouvé essentially the same error dans une question dans le groupe Google pour le plugin rails-authorization
, mais il n'y avait pas de solution fournie.
Voilà ma config de base:
- OS X
- Rails 2.3.2
- PostGreSQL
- Plugins:
- authentification reposant
- rails autorisation
BTW ce problème avec 'composite_primary_keys' est bien connu et un patch est disponible pour deux années complètes. Malheureusement, le patch n'a pas été roulé dans la gemme. http://groups.google.com/group/compositekeys/browse_thread/thread/502e6b0d77cac8c9/682eb7545d01b141 –