編輯2:對我來說看起來像一個快速臨時修復是在控制器名稱前添加一個正斜槓「/」在我的視圖的link_to_unless_current和current_page方法中。 例如Rails設計路由錯誤 - 「無路由匹配」(controller =>「devise/sessions」)
<% active = current_page?(:controller => '/sites', :action => action) ? 'active' : '' %>
<li class="<%= active %>"><%= link_to_unless_current(anchor, { :controller => '/sites', :action => action }) %></li>
這裏是我的情況下,任何人都遇到的問題更多信息其他運行到同樣的事情。 https://github.com/plataformatec/devise/issues/471
============================================ ================
我的設計路徑在我的導航(_header.html.erb)動態時破壞了。我希望這是一個簡單的修復,但真的失去了atm。在我的網站的每個頁面的作品,除非我去/管理員,然後我得到下面的路由錯誤:
這是我收到確切的錯誤:
Started GET "/admin" for 75.13.95.55 at 2011-03-13 15:40:49 -0500
Processing by AdminController#index as HTML
Completed in 2ms
Started GET "https://stackoverflow.com/users/sign_in" for 75.13.95.55 at 2011-03-13 15:40:51 -0500
Processing by Devise::SessionsController#new as HTML
Rendered /usr/local/rvm/gems/ruby-1.9.2-p0/gems/devise-1.1.5/app/views/devise/shared/_links.erb (1.9ms)
Rendered layouts/_header.html.erb (37.0ms)
Rendered /usr/local/rvm/gems/ruby-1.9.2-p0/gems/devise-1.1.5/app/views/devise/sessions/new.html.erb within layouts/application (57.5ms)
Completed in 91ms
ActionView::Template::Error (No route matches {:action=>"coupons", :controller=>"devise/sessions"}):
7: <div id="navcontainer">
8: <ul id="navlist">
9: <% nav.each do |anchor, action| %>
10: <% active = current_page?(:action => action) ? 'active' : '' %>
11: <li class="<%= active %>"><%= link_to_unless_current(anchor, { :action => action }) %></li>
12: <% end -%>
13: </ul>
app/views/layouts/_header.html.erb:10:in `block in _app_views_layouts__header_html_erb__482084855_91994390_872614734'
app/views/layouts/_header.html.erb:9:in `each'
app/views/layouts/_header.html.erb:9:in `_app_views_layouts__header_html_erb__482084855_91994390_872614734'
app/views/layouts/application.html.erb:17:in `_app_views_layouts_application_html_erb___293959382_92160660__194406143'
這裏是config/routes.rb
文件:
devise_for :users
match '/info' => 'sites#info', :as => :info
match "/reviews" => 'sites#reviews', :as => :reviews
resources :admin do
collection do
put 'moderate'
get 'approved'
end
end
root :to => 'sites#coupons'
這裏的app/views/layouts/_header.html.erb
文件:
<% nav = { 'Coupons' => 'coupons', 'Reviews' => 'reviews', 'Info' => 'info' } %>
<div id="navcontainer">
<ul id="navlist">
<% nav.each do |anchor, action| %>
<% active = current_page?(:action => action) ? 'active' : '' %>
<li class="<%= active %>"><%= link_to_unless_current(anchor, { :action => action }) %></li>
<% end -%>
而這裏的輸出rake routes
:
new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session GET /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
info /info(.:format) {:controller=>"sites", :action=>"info"}
reviews /reviews(.:format) {:controller=>"sites", :action=>"reviews"}
moderate_admin_index PUT /admin/moderate(.:format) {:action=>"moderate", :controller=>"admin"}
approved_admin_index GET /admin/approved(.:format) {:action=>"approved", :controller=>"admin"}
admin_index GET /admin(.:format) {:action=>"index", :controller=>"admin"}
POST /admin(.:format) {:action=>"create", :controller=>"admin"}
new_admin GET /admin/new(.:format) {:action=>"new", :controller=>"admin"}
edit_admin GET /admin/:id/edit(.:format) {:action=>"edit", :controller=>"admin"}
admin GET /admin/:id(.:format) {:action=>"show", :controller=>"admin"}
PUT /admin/:id(.:format) {:action=>"update", :controller=>"admin"}
DELETE /admin/:id(.:format) {:action=>"destroy", :controller=>"admin"}
root /(.:format) {:controller=>"sites", :action=>"coupons"}
感謝您的期待!
編輯1:當我試圖從@Dogbert的建議,它似乎 並沒有把不幸的差別:
No route matches {:controller=>"devise/sites", :action=>"coupons"}
Extracted source (around line #9):
6: <div id="navcontainer">
7: <ul id="navlist">
8: <% nav.each do |anchor, action| %>
9: <% active = current_page?(:controller => 'sites', :action => action) ? 'active' : '' %>
10: <li class="<%= active %>"><%= link_to_unless_current(anchor, { :controller => 'sites', :action => action }) %></li>
11: <% end -%>
12: </ul>
+1粘貼在所有相關的代碼:) – Dogbert 2011-03-13 22:30:17