2016-03-23 12 views
0

私はRails 4.2.5を使用しています。ユーザーがログインしている場合は、http://localhost:3000/http://localhost:3000/user_objectsにアクセスしてリダイレクトします。だから私は、私がログインしていたときに、ログインしているユーザーをリダイレクトしようとして問題が発生しました

constraints(AuthenticatedUser) do 
    root :to => "user_objects" 
    end 
    root 'pages#index' 
その後

私はlibに/ authenticated_user.rbでこのファイルを持っている...

class AuthenticatedUser 
    def self.matches?(request) 
    user_signed_in? 
    end 
end 

残念ながら私のconfig/routes.rbをファイルにこれを追加し、Iてきましたアクセスhttp://localhost:3000/、私はこのエラーを取得

NameError 

uninitialized constant AuthenticatedUser 

誰かがログインしている場合、私は提案のページにユーザーをリダイレクトすることができますどのように任意のアイデア?

編集:次のように私のconfig/routes.rbをファイルがある...どんなルートのコントローラアクションで

resources :user_objects, except: :update do 
    member do 
     patch :create 
     put :create 
    end 
    get :find_by_user_object_and_day, on: :collection 
    get :find_totals, on: :collection 
    end 

    get "users/edit" => "users#edit" 
    resources :users 

    root 'pages#index' 

    get '/auth/:provider/callback', to: 'sessions#create' 
    get '/logout', to: 'sessions#destroy' 
    delete '/logout', to: 'sessions#destroy' 
+0

object_userためのヘルパーメソッドは、ときに 'すくいroutes'何ですか? – toddmetheny

+0

それは少し厄介なカットとペーストしようとしているが、私は非常に基本的な私のconfig/routes.rbファイルの錫をpu。 – Dave

答えて

2

がある、あなただけ言うことができる:

if current_user 
    redirect_to user_objects_path #look up the rails helper  
end 
+0

これは私のapplication_controllerファイルに入れられますか? rakeルートの場合、ルートページの "ルートGET /ページ#インデックス"を持っています – Dave

+0

ページコントローラのインデックスアクションに入ります – toddmetheny

0

documentationconstraintsでは、カスタム制約クラスをlib/constraintsに設定することをお勧めします。

とにかく、クラスがroutesで認識されるためには、オートロードを持っているはずです。制約がapplication.rbにオートロードするディレクトリのリストに存在するディレクトリを追加します。

# config/application.rb 
# Custom directories with classes and modules you want to be autoloadable. 
config.autoload_paths += %W[... 
          #{config.root}/lib/constraints] 
+0

私はそのファイルを制約ディレクトリに移動してyoruコードを追加しましたが、http: // localhost:3000 /、 'root:to = "" user_objects "にリダイレクトするのではなく、依然としてページ番号をレンダリングしようとしています。 – Dave

+0

私は、私があなたの根本的な問題に従うのを忘れてしまった "初期化されていない定数"エラーによってそんなに混乱していることを認めます。もう一つの考えでは、@ toddmethenyのアプローチも選択します。 – BoraMa

関連する問題