【问题标题】:Rails Rake Assets Precompile throwing NoMethodError for Engine routes dependencyRails Rake Assets Precompile 为引擎路由依赖项抛出 NoMethodError
【发布时间】:2015-10-30 03:19:03
【问题描述】:

我有一个使用 shopify_app 引擎的沙盒应用程序。在最新版本的 shopify_app gem 中删除了路由,导致以下错误:

 rake aborted!
remote:        NoMethodError: undefined method `routes=' for #<ShopifyApp::Configuration:0x007fcab708e448>
remote:        /tmp/build_5d0f45fef6ff96f0e7e2e5cebd603067/config/initializers/shopify_app_initializer.rb:6:in `block in <top (required)>'
remote:        /tmp/build_5d0f45fef6ff96f0e7e2e5cebd603067/vendor/bundle/ruby/2.1.0/gems/shopify_app-6.2.1/lib/shopify_app/configuration.rb:31:in `configure'
remote:        /tmp/build_5d0f45fef6ff96f0e7e2e5cebd603067/config/initializers/shopify_app_initializer.rb:1:in `<top (required)>'

所以我试图在我的应用程序路由文件中安装引擎。

这是我在第 2 行中添加的 rails mount 行,但是 NoMethodError 在安装 ShopifyApp Engine 后没有改变。我不了解根本问题或如何解决它。

MyApp::Application.routes.draw do
  mount ShopifyApp::Engine => '/', as: 'shopify_app'

  controller :sessions do
    get 'login' => :new, :as => :login
    post 'login' => :create, :as => :authenticate
    get 'auth/shopify/callback' => :callback
    get 'logout' => :destroy, :as => :logout
  end

  get 'modal' => "home#modal", :as => :modal
  get 'modal_buttons' => "home#modal_buttons", :as => :modal_buttons
  get 'regular_app_page' => "home#regular_app_page"
  get 'help' => "home#help"
  get 'pagination' => "home#pagination"
  get 'breadcrumbs' => "home#breadcrumbs"
  get 'buttons' => "home#buttons"
  get 'form_page' => "home#form_page"
  post 'form_page' => "home#form_page"
  get 'error' => 'home#error'

  root :to => 'home#index'
end

有人可以指出我正确的方向吗?我想预编译正在中断 .routes 调用,但我需要帮助来实现下一个飞跃

ShopifyApp::Engine.routes.draw do

https://github.com/Shopify/shopify_app/blob/master/config/routes.rb

【问题讨论】:

  • 请发帖config/initializers/shopify_app_initializer.rb
  • 感谢 Antarr,该文件的存在对我来说是缺失的部分。我根据来自 shopify_app 贡献者之一的 Kevin 的指示删除了 config.routes = true 行并修复了它。

标签: ruby-on-rails nomethoderror


【解决方案1】:

我从 shopify_app_initializer.rb 中删除了 config.routes 行——它被设置为 false

【讨论】:

    猜你喜欢
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多