2016-11-28 8 views
0

Я развертываю мое приложение Rails, которое использует камень для очистки в Heroku. Все отлично работает в разработке, но у меня возникают проблемы с создаваемыми мной драгоценными путями.Rails - Развертывание в Heroku с повторяющимися маршрутами

При попытке развернуть на Heroku, я получаю ошибку ...

ArgumentError: Invalid route name, already in use: 'sign_in' 


You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here: 
remote:  http://guides.rubyonrails.org/routing.html#restricting-the-routes-created 

Я не вижу, где ограничить дублированные или где они будут генерироваться с любым из моих ресурсов:

Пожалуйста см routes.rb файл ниже

routes.rb

Rails.application.routes.draw do 

    resources :passwords, controller: "clearance/passwords", only: [:create, :new] 
    resource :session, controller: "clearance/sessions", only: [:create] 

    resources :users, controller: "clearance/users", only: [:create] do 
    resource :password, 
     controller: "clearance/passwords", 
     only: [:create, :edit, :update] 
    end 

    get "/sign_in" => "clearance/sessions#new", as: "sign_in" 
    delete "/sign_out" => "clearance/sessions#destroy", as: "sign_out" 
    get "/sign_up" => "clearance/users#new", as: "sign_up" 

    get 'newSignUp', to: 'signups#new' 
    post 'newSignUp', to: 'signups#create' 

    get 'newTrip', to: 'trips#new' 
    post 'newTrip', to: 'trips#create' 

    get 'trips/:id/send_itinerary' => 'trips#send_itinerary', as: :trips_send_itinerary 



    root 'static_pages#home' 
    get 'static_pages/home' 
    get 'static_pages/help' 
    get 'static_pages/about' 
    get 'static_pages/contact' 


    resources :signups 
    resources :tripitems 
    resources :trips 

end 

ответ

0

Посмотрев на драгоценные камни GitHub, это выглядит как я прострелил маршруты раньше, и даже если config.routes был установлен ложно инициализатор, в генерируемых ресурсах в процессе происходил конфликт.

Я запустил удаление raked маршрутов и сделал config.routes = true.

1

Thi проблема связана с жемчужиной clearance.

Я не совсем знаком с драгоценным камнем, так как обычно, я проверил GitHub и обнаружил следующее:

# config/routes.rb 
if Clearance.configuration.routes_enabled? 
    Rails.application.routes.draw do 
    resources :passwords, 
     controller: 'clearance/passwords', 
     only: [:create, :new] 

    resource :session, 
     controller: 'clearance/sessions', 
     only: [:create] 

    resources :users, 
     controller: 'clearance/users', 
     only: Clearance.configuration.user_actions do 
     resource :password, 
      controller: 'clearance/passwords', 
      only: [:create, :edit, :update] 
     end 

    get '/sign_in' => 'clearance/sessions#new', as: 'sign_in' 
    delete '/sign_out' => 'clearance/sessions#destroy', as: 'sign_out' 

    if Clearance.configuration.allow_sign_up? 
     get '/sign_up' => 'clearance/users#new', as: 'sign_up' 
    end 
    end 
end 

В основном это создает те же маршруты для вас, только если конфигурация routes_enabled? правда.

Вам нужно настроить clearance следующим образом обрабатывать маршрутам себя:

config.routes = false 
+0

config.routes уже был установлен в «false» в инициализаторе. – got2jam

+1

@ got2jam прочитал ваш ответ, очень странный, но рад, что у вас есть все, чтобы работать правильно. – fbelanger

+0

Да, я собираюсь немного поработать над этим. Clearance рекомендует вам отключить пользователя от генерирующих маршрутов, чтобы я мог это иметь смысл. Я изучаю рельсы для быстрого и грязного MVP, но как бы влюбляюсь в него, поэтому я буду погружаться в маршруты больше Спасибо за вашу помощь – got2jam