Tôi vừa mới nâng cấp lên 1.0.3
và tệp routes.rb trong thư mục cấu hình/tuyến đường của tôi có vẻ bỏ qua tất cả tuyến đường tùy chỉnh của tôi.Thêm tuyến đường vào Spree thương mại điện tử
routes.rb MY
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
Nếu tôi chạy bundle exec rake routes
, nó sẽ trả về tất cả các tuyến đường approriate. Nhưng khi tôi cố gắng tiếp cận trang cụ thể đó, tôi nhận được:
undefined local variable or method `about_us_path'
Hoặc cùng một lỗi cho mọi liên kết nằm trong tuyến đường tùy chỉnh của tôi. Bằng cách nào đó các tuyến đường của tôi bị bỏ qua. Có ai biết cách nào để vượt qua vấn đề này không?
tôi thấy rằng sử dụng 'main_app.my_route_path' đã phá vỡ tất cả các tuyến Spree trừ khi họ được thêm vào phía trước với' spree.'. Giải pháp này ngăn cản sự cần thiết phải làm điều đó. – Zubin
@Zubin Có, main_app.my_route_path hoạt động để truy cập các tuyến ứng dụng chính từ bộ điều khiển/lượt xem có liên quan của Spree. Để thêm tuyến đường vào Spree, bạn có thể sử dụng giải pháp do tôi cung cấp. –
Dường như phương thức prepend không hoạt động nữa. Hãy xem câu trả lời @Ajay –