2013-01-14 81 views
1

我已經通過所有的設計路由錯誤在這裏討論看,找不到能解決我的問題的解決方案。我的環境如下: - 紅寶石1.9.3 - Rails的3.2.6 - 設計2.2.0制定路由錯誤的軌道3.2.6

我跟所有的步驟在這裏:https://github.com/plataformatec/devise

的文件有:

路線。 RB:

Dealzhunt::Application.routes.draw do 

    devise_for :members 

    get "browse/all" 

    get "home/index" 

    root :to => 'browse#all' 

# some other code 

member.rb:

class Member < ActiveRecord::Base 
    # Include default devise modules. Others available are: 
    # :token_authenticatable, :confirmable, 
    # :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable, :validatable 

    # Setup accessible (or protected) attributes for your model 
    attr_accessible :email, :password, :password_confirmation, :remember_me 
    # attr_accessible :title, :body 
end 

耙路線:

  new_member_session GET /members/sign_in(.:format)  devise/sessions#new 
       member_session POST /members/sign_in(.:format)  devise/sessions#create 
     destroy_member_session DELETE /members/sign_out(.:format)  devise/sessions#destroy 
      member_password POST /members/password(.:format)  devise/passwords#create 
     new_member_password GET /members/password/new(.:format) devise/passwords#new 
     edit_member_password GET /members/password/edit(.:format) devise/passwords#edit 
          PUT /members/password(.:format)  devise/passwords#update 
    cancel_member_registration GET /members/cancel(.:format)  devise/registrations#cancel 
     member_registration POST /members(.:format)    devise/registrations#create 
    new_member_registration GET /members/sign_up(.:format)  devise/registrations#new 
    edit_member_registration GET /members/edit(.:format)   devise/registrations#edit 
          PUT /members(.:format)    devise/registrations#update 
          DELETE /members(.:format)    devise/registrations#destroy 
        browse_all GET /browse/all(.:format)   browse#all 
         root  /        browse#all 

對於下列網址:

http://localhost:3000/members/sign_in 
http://localhost:3000/members/sign_up 

,我發現了以下錯誤:

No route matches {:controller=>"devise/browse", :action=>"all", :category=>0} 

我發現一個奇怪的現象是,如果我修改root:to =>'home#index',消息是一樣的。我認爲這將至少改變設計/家,但它仍然在/瀏覽

奇怪的是,我開始一個新的乾淨的Rails項目,實際設計工作。我不知道是否是因爲當我跑的軌道產生一些錯誤發生的設計:安裝

難住了這個問題。有人能幫助我嗎?

+0

是否改變項的順序在routes.rb中有任何有意義的影響? –

回答

1

親愛的上帝,我發現了問題的原因。 Devise在使用link_to語法時遇到了問題。臨時解決辦法是修改所有link_to到

<%= link_to "Home", :controller => "/browse", :action => "all" %> 

與/之前的控制器名稱。下面是對這個問題的詳細信息:github.com/plataformatec/devise/issues/471

+0

更改根URL的路徑是否修復了sign_in頁面的問題? –

0

你在哪裏得到這個錯誤?即,您正在加載哪個頁面?

好像你正在對一個鏈接或東西向航線控制器「設計/瀏覽」 - 相反,它應該只路由控制器「瀏覽」。在由耙路線所產生的輸出

browse_all GET /browse/all(.:format)   browse#all 

你會看到,你顯然具有browse控制器與all方法。

+0

我在http:// localhost:3000/members/sign_in上看到錯誤。它似乎有一些配置路由到控制器設計/瀏覽。這是預計從設計? –