簡體   English   中英

路線在開發中起作用,但在生產中不起作用

[英]Routes work in Development But not in Production

奇怪的錯誤。 我有一些在開發過程中可以完美工作的路由,但是一旦我部署並嘗試訪問它們,頁面中就不會出現錯誤

我有以下route.rb文件:

TransportUnl::Application.routes.draw do

  resources :trucks

  resources :shipments do
    collection do
      get :autocomplete_location_cs
    end
  end

  devise_for :users do
    get '/users/sign_in' => 'devise/sessions#new'
    get '/users/sign_out' => 'devise/sessions#destroy'
  end

  root :to => 'info#index'

  resources :info do
    collection do
      get 'about'
      get 'contact'
      get 'you_dont_have_a_full_account'
      get 'help'
    end
    member do
      get 'index'
    end
  end

  resources :companies

end

尚未設置所有內容。 但是當我轉到以下頁面時,出現頁面未找到錯誤:

www.website.com/shipments

www.website.com/trucks

以及生產中的其他產品。 主索引頁面有效,您可以登錄,但找不到這些頁面。

生產

生產

發展

發展

Production.log

Started GET "/shipments" for 108.235.52.160 at 2015-06-22 13:09:03 -0500
Processing by ShipmentsController#index as HTML
  [1m[35m (0.6ms)[0m  SELECT MAX("shipments"."price") AS max_id FROM "shipments" 
  [1m[36mShipment Load (0.3ms)[0m  [1mSELECT "shipments".* FROM "shipments" [0m
  Rendered shipments/_nav.html.erb (0.6ms)
  Rendered shipments/_search_table.html.erb (0.1ms)
  Rendered shipments/index.html.erb within layouts/application (1.2ms)
  [1m[35mUser Load (0.5ms)[0m  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Rendered shared/_header.html.erb (5.0ms)
Completed 500 Internal Server Error in 12ms

ActionController::RoutingError (No route matches {:action=>"edit", :controller=>"companies"}):
  app/views/shared/_header.html.erb:78:in `_app_views_shared__header_html_erb___2847381188393053217_232073740'
  app/views/layouts/application.html.erb:17:in `_app_views_layouts_application_html_erb__4421904906041360553_230384600'
  app/controllers/shipments_controller.rb:7:in `index'




Started GET "/info/about" for 157.55.39.229 at 2015-06-22 13:10:29 -0500
Processing by InfoController#about as */*
  Rendered info/about.html.erb within layouts/application (5.7ms)
  Rendered shared/_header.html.erb (3.8ms)
  [1m[36m (4.3ms)[0m  [1mSELECT * FROM geometry_columns WHERE f_table_name='shipments'[0m
  [1m[35mShipment Load (0.9ms)[0m  SELECT "shipments".* FROM "shipments" ORDER BY id DESC LIMIT 3
  Rendered shared/_footer.html.erb (31.6ms)
Completed 200 OK in 177ms (Views: 151.1ms | ActiveRecord: 25.6ms)

鏈接是這樣創建的:

<%= link_to "My Account", edit_company_path(current_user.company_id) %>

從日志中可以看到,由於app/views/shared/_header.html.erb文件的第78行,出現錯誤頁面。

在這段代碼中,您將在其中創建鏈接

<%= link_to "My Account", edit_company_path(current_user.company_id) %>

檢查該特定用戶的company_id是否不為零。 我很確定您的情況沒有。

從錯誤日志中可以看到,它試圖將動作編輯作為公司控制者的收集動作companies/edit 您沒有定義此路由。 但是,如果當前用戶將擁有company_id,則鏈接將正確建立,並且您不會收到錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM