Niedawno zaktualizowałem do 1.0.3
, a plik routes.rb w moim folderze config/routes wydaje się zignorować wszystkie moje niestandardowe trasy.Dodawanie do e-commerce Spree do railsów Sprytny e-Commerce
MY 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
Jeśli biegnę bundle exec rake routes
, zwraca wszystkie approriate tras. Ale gdy próbuję dotrzeć do tej konkretnej strony, otrzymuję:
undefined local variable or method `about_us_path'
lub tego samego błędu dla każdego linku, który jest w moich własnych tras. W jakiś sposób moje trasy są ignorowane. Czy ktoś zna sposób na obejście tego problemu?
Okazało się, że przy użyciu 'main_app.my_route_path' złamał wszystkie trasy spree chyba że zostały one poprzedzane' spree.'. To rozwiązanie zapobiega potrzebie tego. – Zubin
@Zubin Tak, main_app.my_route_path działa w celu uzyskania dostępu do głównych tras aplikacji z kontrolerów/widoków związanych ze Szprewą. Aby dodać trasę do szału, możesz skorzystać z podanego przeze mnie rozwiązania. –
Wygląda na to, że metoda prepend nie działa. Spójrz na odpowiedź @Ajay –