Ruby on Rails: CanCan и статические страницы - PullRequest
4 голосов
/ 02 апреля 2012

Я использую CanCan 2.0 gem для авторизации и high_voltage gem для статических страниц.

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

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

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

authorize_resource :class => false

к вашему контроллеру.

0 голосов
/ 02 апреля 2012

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

...