私は初めて Rails を調査しており、かなり単純な役割ベースのセキュリティをテスト アプリに追加しようとしています。一部のグーグルは、レール認証がこれを行う方法であることを示しているようです。私はREADMEに従いましたが、すべてうまくいっているように見えましたが、今 aUser
を aに関連付けようとするRole
と失敗します。これが私のscript/console
セッションのスニペットです:
>> u = User.find(:first)
=> #<User id: 1, login: "cwhit", name: "", email: "cwhitfield@unica.com", 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"
私はばかげたことをしているだけですか、それとも既知の問題ですか? プラグインに関する Google グループの質問で本質的に同じエラーを見つけましrails-authorization
たが、解決策はありませんでした。
これが私の基本的な設定です:
- OS X
- レール 2.3.2
- PostgreQL
- プラグイン:
- 安らかな認証
- レール認可