2013-03-08 9 views
0

Я новичок в рельсах. Я хочу проверить, защищена ли страница и защищена ли она, а затем перенаправляет пользователя на страницу входа в систему. По какой-то причине это не работает.Rails before_filter проверить на защищенную страницу

Я добавил это в верхней части контроллера:

before_filter :check_access, :only => [:show] 

Я добавил этот код в контроллер Сообщений:

def check_access 
    @post = Post.find(params[:id]) 
    redirect_to login_url unless @post.published != '2' 
end 
+0

Почему бы вам не сделать это, если @ post.published = '2'? если только с! не хорош ruby ​​ –

+0

Добро пожаловать в StackOverflow. Было бы полезно описать симптомы. Вместо «он почему-то не работает» - попробуйте «Защищенная страница загружается, а не перенаправляет». – Tass

+0

Вы уверены, что метод 'published' возвращает строку? Если он вернет Fixnum, это условие никогда не будет истинным. – Eru

ответ

0

Более подробная информация будет полезной для диагностики проблемы. Я предполагаю, что @ post.published - это флаг, указывающий, что публикация публикуется. Вы можете убедиться, что путь * login_url * настроен правильно с консоли.

rake routes | grep "login_url" 
+0

Я РЕШИЛ ЭТО, ИЗБЕГАЕТСЯ НЕ РЕАЛИЗОВАТЬ, – user2150156

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