设计root - 禁用必须登录

时间:2015-08-07 03:59:46

标签: ruby-on-rails ruby devise

每当我访问我的主页或root用户时,我都会被重定向到Devise&#39 / users / sign_in /。我使用routes.rb文件的数量相当可观,我无法弄清楚为什么Devise会为页面控制器启动。 Pages控制器实际上是空的。

的routes.rb

Rails.application.routes.draw do
  resources :pages
  root 'pages#index'
  resources :events do
    member do
      get :create_attendee
      delete :destroy_attendee
    end
  end

  devise_for :users

  devise_scope :user do
    authenticated :user do
      root 'events#index', as: :authenticated_root
    end

    unauthenticated do
      root 'pages#index', as: :unauthenticated_root
    end
  end

pages_controller.rb

class PagesController < ApplicationController
  def index
  end
end

1 个答案:

答案 0 :(得分:2)

before_filter :authenticate_user!, except: [:index]添加到pages_controller.rb,然后跳过身份验证。

authenticate_user!之外的所有控制器方法调用都会触发index操作,即createupdate ...这样,您就不会浏览登录页面。