新手问题 URL 中的问题

gechentuo · 2013年08月26日 · 最后由 gechentuo 回复于 2013年08月26日 · 2254 次阅读

rails4.0 中 user.has_role?('Admin') 这个方法,是 rails 自带的吗?

2.0.0-p247 :015 >user = User.find(1) User Load (1.0ms) SELECT users.* FROM users WHERE users.id = ? LIMIT 1 [["id", 1]] => # 2.0.0-p247 :016 > user.has_role?('Admin') Role Load (1.2ms) SELECT roles.* FROM roles INNER JOIN roles_users ON roles.id = roles_users.role_id WHERE roles_users.user_id = ? AND roles.name = 'Admin' LIMIT 1 [["user_id", 1]] => false 2.0.0-p247 :017 > role = Role.first Role Load (0.4ms) SELECT roles.* FROM roles ORDER BY roles.id ASC LIMIT 1 => # 2.0.0-p247 :018 > role.has_user?('Admin') NoMethodError: undefined method `has_user?' for #...

你可以用 user.method(:has_role?).source_location 看看这个方法的定义在那里!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号