【问题标题】:Adding Routes to Rails' Spree E-Commerce为 Rails 的 Spree 电子商务添加路由
【发布时间】:2012-04-08 16:48:35
【问题描述】:

我刚刚升级到1.0.3,我的 config/routes 文件夹中的 routes.rb 文件似乎忽略了我所有的自定义路由。

我的路线.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'

或者我的自定义路由中的每个链接都出现相同的错误。不知何故,我的路线被忽略了。有谁知道绕过这个问题的方法吗?

【问题讨论】:

    标签: ruby-on-rails spree


    【解决方案1】:

    我遇到了同样的错误并找到了this solution,它通过在每个my_paths/_urls之前添加前缀main_app来解决它。就我而言,这些是/override.rb 文件之一中使用的链接。

    所以,试试:main_app.about_us_path。

    【讨论】:

      【解决方案2】:

      您可以使用 routes.rb 文件中的以下块在 Spree 中添加新路线

      Spree::Core::Engine.routes.prepend do
        # Your new routes
      end
      

      【讨论】:

      • 我发现使用main_app.my_route_path 会破坏所有狂欢路线,除非它们前面带有spree.。此解决方案无需这样做。
      • @Zubin 是的,main_app.my_route_path 用于从 Spree 相关的控制器/视图访问主应用程序路由。为狂欢添加路线,您可以使用我给出的解决方案。
      • 似乎 prepend 方法不再起作用了。看看@Ajay 的回答
      【解决方案3】:

      对我来说,前置没有用。 对我来说 draw 完成了工作:

      Spree::Core::Engine.routes.draw do
         resources :orders, except: [:new, :create, :destroy] do
            post :my_order, on: :collection
         end
      end
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-25
        相关资源
        最近更新 更多