該應用工作正常,直到我們添加了博客。然後,我們開始有一些路由問題。導航欄上的每個鏈接仍然正常工作,包括博客鏈接,該鏈接將打開所有帖子的索引。當您點擊其中一個鏈接轉到特定的帖子時,該頁面會顯示,因爲它應該。但是,爲了讓用戶發表評論,他/她需要登錄或註冊。所以,我們在頁面上放置了兩個鏈接。問題是,當你點擊這些鏈接,或者在導航欄任何其他的環節之一,你會得到一個錯誤信息,一個典型的信息如下:在添加博客組件時在Rails中路由問題
無法使用id =登錄後發現
在這一點上,我們不再是根源。在這種情況下,在地址欄上寫着:
http://localhost:3000/posts/login
,以正本清源的唯一方法是通過點擊頁面上的「返回」鏈接,將用戶返回到博客索引頁。
這是我的路線文件看起來像:
Septactus::Application.routes.draw do
devise_for :admins
devise_for :users, :path => "auth", :path_names => {
:sign_in => 'login',
:sign_out => 'logout',
:password => 'secret',
:confirmation => 'verification',
:unlock => 'unblock',
:registration => 'register',
:sign_up => 'cmon_let_me_in'
}
devise_for :users, :controllers => {:registrations => 'registrations'}
match '/home', :to => 'site_pages#home'
match '/about', :to => 'site_pages#about'
match '/bookshelf', :to => 'books#index'
match '/blog', :to => 'posts#index'
match '/icasts', :to => 'site_pages#icasts'
match '/portfolio', :to => 'site_pages#portfolio'
devise_scope :user do
match "login", :to => 'devise/sessions#new'
match 'logout', :to => 'devise/sessions#destroy'
match 'signup', :to => 'devise/registrations#create'
end
resources :site_pages
resources :books
resources :users
resources :posts do
resources :comments
end
root :to => 'site_pages#home'
end
任何線索,任何人嗎?
請顯示產生鏈接到'posts/login'的視圖代碼 – jdl
請參閱我的下一篇文章,查看代碼。 – Adam