Working on Rails Engine.
I want to make the controllers customizable whereever the Rails Engine is used.
Therefore, I was trying to use
extend ActiveSupport::Concern on the Engine controller class and include it in MyRailsApp.
# code in my rails engine moduel MyEngine class SomeController extend ActiveSupport::Concern def engine_some_method end end end # code in my rails app where engine is implemented class SomeController include MyEngine::SomeController def app_some_method end # code that's available by including the Rails Engine code # def engine_some_method # end end But, this breaks my rpsec controller tests because of an undefined "recycle" method. 12) Qe::Admin::QuestionPagesController POST reorder Failure/Error: xhr :post, :create, NoMethodError: undefined method `recycle!' for #<Qe::Admin::QuestionPagesController:0x007f80aa1c7528> # ./spec/controllers/admin/pages_controller_spec.rb:69:in `block (2 levels) in <top (required)>' When I comment out the "include MyEngine::Controller" everything passes. Why?