0

spree コントローラーの拡張に問題があります。コントローラーをオーバーライドすると、Order クラスにアクセスできません。次のエラーが表示されます ( spree 1.2.4を使用します):

NameError (uninitialized constant Spree::Admin::OrdersController::Order):
spree_russian_post/app/controllers/admin/orders_controller_decorator.rb:9:in `sample_method'
actionpack (3.2.8) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (3.2.8) lib/abstract_controller/base.rb:167:in `process_action'
actionpack (3.2.8) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (3.2.8) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
...

問題は私のコントローラーにあります:

spree_russian_post/app/controllers/admi /orders_controller_decorator.rb

コードは次のとおりです。

require 'spree_core'

Spree::Admin::OrdersController.class_eval do

  def sample_method
      @order = Order.find_by_param(params[:id]) #Here I get the error
      ....
  end

end

Order クラスにアクセスするにはどうすればよいですか?

4

1 に答える 1