【发布时间】:2014-11-11 16:56:22
【问题描述】:
我正在使用 Devise 和 cancancan。在我的应用程序助手中,我有 -
def is_part_of_team?(book)
on_team = false
book.contributions.each do |contribution|
if contribution.user == current_user
on_team = true
end
end
if book.user == current_user
on_team = true
end
return on_team
end
在ability.rb中我有 -
include ApplicationHelper
...
can :update, Book do |book|
is_part_of_team?(book)
end
...这会引发错误 -
undefined local variable or method `current_user' for #<Ability...
可能有更好的方法可以做到这一点,但我只是想知道为什么 cancan 不喜欢应用程序助手中的 current_user。为什么是这样?我从视图中使用此功能,这一切都很花哨。
【问题讨论】:
标签: ruby-on-rails devise cancan