17

最近にアップグレードしまし1.0.3たが、config/routesフォルダーのroutes.rbファイルがすべてのカスタムルートを無視しているようです。

私のroutes.rb

JollyStore::Application.routes.draw do
  # Mount Spree's routes
  mount Spree::Core::Engine, :at => '/'

  root :to => 'pages#index'

  namespace :admin do
    resources :wysiwygs
  end

  match 'about_us/', :to => "pages#about_us"
  match 'services/', :to => "pages#services"
  match 'raw_resources/', :to => "pages#raw_resources"
  match 'contact_us/', :to => "pages#contact_us"

  match 'privacy_policy/', :to => "pages#privacy_policy"
  match 'return_policy/', :to => "pages#return_policy"
  match 'refund_policy/', :to => "pages#refund_policy"
  match 'cancellation_policy/', :to => "pages#cancellation_policy"
  match 'delivery_shipping_policy/', :to => "pages#delivery_shipping_policy"


end

を実行するbundle exec rake routesと、すべての適切なルートが返されます。しかし、その特定のページに到達しようとすると、次のようになります。

undefined local variable or method `about_us_path'

または、カスタムルート内にあるすべてのリンクで同じエラーが発生します。どういうわけか私のルートは無視されています。この問題を回避する方法を知っている人はいますか?

4

3 に答える 3

39

同じエラーが発生し、この解決策を見つけました。これmain_appは、各my_paths/_urls. 私の場合、これらはいずれかの/override.rbファイルで使用されているリンクでした。

だから、試してみてください:main_app.about_us_path

于 2012-04-18T18:26:40.820 に答える
20

routes.rb ファイルの次のブロックを使用して、Spree に新しいルートを追加できます。

Spree::Core::Engine.routes.prepend do
  # Your new routes
end
于 2012-08-09T12:44:42.240 に答える
8

私にとっては、プリペンドは機能しませんでした。私にとって、描画は仕事をしました:

Spree::Core::Engine.routes.draw do
   resources :orders, except: [:new, :create, :destroy] do
      post :my_order, on: :collection
   end
end
于 2014-04-05T19:59:37.633 に答える