2012-10-11 86 views
0

我試圖讓一些變化我有一個承包商使我的本地工作,我似乎無法通過這個錯誤,主要是因爲我不是在我的理解氣密這是如何工作的,因此僱傭了承包商。Rails設計登錄和註冊重定向

無論如何,我問他將用戶重定向到他們的個人資料頁面上註冊並且登錄(我使用的設計),我得到這兩個錯誤

登入和向上

undefined method `profile_path' for #<Devise::SessionsController:0x007fa992493f48> 

應用程序控權

class ApplicationController < ActionController::Base 

    protect_from_forgery 

    protected 

    def after_sign_in_path_for(resource) 
    profile_path(id: resource.profile_name) 
    end 
end 

我Routes-

Goldengoal::Application.routes.draw do 
    # get "profiles/show", :as => 'profile' 
    devise_for :users 

    devise_scope :user do #this is how you seperate between player and parent what they can see 
    get 'register', to: "devise/registrations#new", as: :register 
    get 'login', to: "devise/sessions#new", as: :login 
    get 'logout', to: "devise/sessions#destroy", as: :logout 
    end 

    root :to => 'front#index' 

    resources :users, path: '', controller: 'profiles', only: [:show] do 
    resources :players 
    resources :logistics 
    resources :notes 
    end 

我在這裏錯過了什麼?從Github獲取最新更改可能是一個問題嗎?他說在他的機器上一切正常。我在這裏相當迷茫。

在此先感謝您看看這個。

回答

1

我跑耙路線和方法控制器我改變了它從

def after_sign_in_path_for(resource) 
    profile_path(id: resource.profile_name) 
end 

到:

def after_sign_in_path_for(resource) 
    user_path(id: resource.profile_name) 
end 

,一切似乎在瀏覽器工作正常。任何人都可以評論這確實是正確的解決方案,承包商只是沒有改變這一點?

+2

這是正確的修復方法。雖然有'ProfilesController',路由被定義爲'resources:users',它會給你一個'user_path'幫手。如果控制器名稱與正在討論的資源匹配,這將不那麼令人困惑。 – willglynn

+0

非常感謝您的關注@willglynn –