cancan无法与没有类的控制器一起使用。所以我创建了userhome.rb模型:
class Userhome
end
userhome控制器中有一个访问另一个目录/类中的页面的操作。尝试访问它会产生以下错误:
undefined method `find' for Userhome:Class
对我来说最好的事情是......:
或者有解决此错误的解决方法吗?
答案 0 :(得分:2)
看看CanCan documentation on non-RESTful controllers。
“资源”是您的控制器负责列出,创建,更新等的“事物”。它通常是一个模型,但不一定是(例如,您可能有一个“搜索结果”资源,但不是'有一个相应的模型)。
如果您的控制器确实没有处理资源,那么您可能只想在控制器中使用authorize!
,但是如果控制器 处理资源但是没有相应的模型(听起来它可能描述了你的情况)然后你可能想要使用authorize_resource
并指定没有相应的类。这使您可以“假装”拥有资源(即,您可以根据资源上的操作指定功能),而无需实际拥有代表该资源的模型。