Ruby on Rails:CanCan和静态页面

时间:2012-04-02 12:59:51

标签: ruby-on-rails cancan

我使用CanCan 2.0 gem进行授权,使用high_voltage gem进行静态页面。

在我的routes.rb文件中,我有:

match 'about' => 'high_voltage/pages#show', id: 'about'

我想在我的ability.rb文件中公开它,但这两行都不会这样做:

can :read, :pages
can :read, 'high_voltage/pages'

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

这个问题不是因为没有模型'Page'吗?有cancan wiki,如何处理这种情况:它应该在你添加

时起作用
authorize_resource :class => false

到您的控制器。

答案 1 :(得分:-2)

如果它是传统意义上的静态页面,那么那将是行不通的。静态页面完全绕过Rails堆栈,直接从文件系统提供。我建议做的仍然是将这些缓存为静态页面,但是有一个控制器检查权限然后提供静态页面。