2012-04-02 6 views
4

Я использую драгоценный камень CanCan 2.0 для авторизации и high_voltage драгоценный камень для статических страниц.Ruby on Rails: CanCan и статические страницы

В моем файле routes.rb у меня есть:

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

И я хочу, чтобы сделать его общедоступным в моем ability.rb файле, но ни один из этих двух линий не делать:

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

Как это исправить?

ответ

2

Разве эта проблема не связана с тем, что нет модели «Страница»? Существует cancan wiki, как справиться с этой ситуацией: она должна работать, когда вы добавляете

authorize_resource :class => false 

к контроллеру.

-2

Если это статические страницы в традиционном смысле, то это не сработает. Статические страницы полностью обходят стек Rails и обслуживаются непосредственно из файловой системы. То, что я рекомендовал бы сделать, все еще кэширует их как статические страницы, но имеет контроллер, который проверяет разрешение и затем обслуживает статическую страницу.

+0

Несомненно, он просто означает страницу, которая не является ресурсом, то есть, но все же в стеке? –

Смежные вопросы