在我们添加博客之前,该应用程序运行良好。然后,我们开始遇到一些路由问题。导航栏上的每个链接仍然可以正常工作,包括博客链接,它打开了所有帖子的索引。当您单击其中一个链接以转到特定帖子时,该页面将按原样显示。但是,为了让用户发表评论,他/她需要登录或注册。所以,我们在页面上放了两个链接。问题是当您单击其中一个链接或导航栏上的任何其他链接时,您会收到一条错误消息,典型消息如下:
找不到 id=login 的帖子
在这一点上,我们不再是根。在这种情况下,地址栏显示:
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
任何线索,任何人?