Rails-用重复的路线部署到Heroku



我正在部署使用清除宝石到Heroku的Rails应用程序。一切都在开发中效果很好,但是我在获得的宝石生成的路线时遇到了麻烦。

尝试部署到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

此问题与clearance GEM有关。

我对宝石并不完全熟悉,因此,按照往常,我检查了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?为TRUE时。

您需要如下配置clearance以自己处理路线:

config.routes = false

查看GEMS github后,看起来我早些时生产。

我最伤口删除了耙开路并制作config.Routes = true。

相关内容

  • 没有找到相关文章

最新更新