2013-11-16 4 views
0

Я получаю эту ошибку: ActionController::UrlGenerationError in ContactUs::Contacts#new, используя этот драгоценный камень https://github.com/jdutil/contact_us.Свяжитесь с нами gem route conflict - Rails 4

ошибка: No route matches {:controller=>"contact_us/pages", :action=>"home"}

Где происходит ошибка:

.col-xs-8 
      %ul 
       %li 
        = link_to "Home", :controller => 'pages', :action => 'home' 
       %li 
        = link_to "About", :controller => 'pages', :action => 'about' 
       %li 

Мои маршруты:

devise_for :users 
resources :available_times 

root :to => "pages#home" 

get 'about' => 'pages#about' 
get 'pricing' => 'pages#pricing' 

get 'users/my-bookings' => 'available_times#index' 
get 'users/x34' => 'available_times#create' 
get 'users/test_func/:id/:time' => 'available_times#test_func' 

Gem маршруты

Rails.application.routes.draw do 
    resources :contacts, 
    :controller => 'contact_us/contacts', 
    :only  => [:new, :create] 
    get '/contact-us' => 'contact_us/contacts#new', :as => :contact_us 
end 

ответ

1

Похоже, у вас есть SCO ping проблема. Представление отображается в области contact_us, и вызов контроллера в этой области будет искать его в contact_us/, а не во всем приложении. Я не большой поклонник использования :controller => 'pages', :action => 'home' для генерации маршрутов напрямую, попробуйте вместо этого использовать хелпер пути. Это, вероятно, будет работать лучше.

= link_to "Home", root_path 
= link_to "About", about_path 

В маршрутах:

get 'about' => 'pages#about', as: :about 
+0

глупо мне, спасибо том – Melbourne2991

Смежные вопросы