我是第一次探索 Rails,并尝试在我的测试应用程序中添加一些相当简单的基于角色的安全性。一些谷歌搜索似乎表明rails-authorization是解决这个问题的方法。我遵循了自述文件,一切似乎都很顺利,但现在我试图将 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 Group 中的一个问题中发现了基本相同的错误rails-authorization
,但没有提供解决方案。
这是我的基本配置:
- 操作系统
- 导轨 2.3.2
- PostgresSQL
- 插件:
- 宁静认证
- rails-授权