Ruby on Rails Sunday, December 2, 2012

On Dec 2, 9:00 pm, Frederick Cheung <frederick.che...@gmail.com>
wrote:
> On Dec 2, 7:22 pm, Weston Platter <westonplat...@gmail.com> wrote:
>
> > What you said makes sense.
>
> > I incorrectly said I commented out
> > include MyEngine::SomeController
>
> > when I meant to say commenting out
> > extend ActiveSupport::Concern
>
> Calling extend activesupport::concern on a controller sounds like a
> weird thing to do
>  - it's supposed to be used on modules. What were you trying to do
> with it?

And I assume that the reason this causes a problem is something to do
with how as::concern changes the behaviour of include so as to setup
module dependencies.

Fred

>
>
>
>
>
>
>
> > fixes the issue.
>
> > The codeabse is here,https://github.com/twinge/questionnaire_engine/tree/8836c2a3b92e676ea...
> > .
>
> > The specific Controller Class is here,https://github.com/twinge/questionnaire_engine/blob/8836c2a3b92e676ea...
>
> > The specific Controller Spec test is here,https://github.com/twinge/questionnaire_engine/blob/8836c2a3b92e676ea...
>
> > On Saturday, December 1, 2012 7:11:02 PM UTC-6, Frederick Cheung wrote:
>
> > > On Dec 1, 7:19 pm, Weston Platter <westonplat...@gmail.com> wrote:
>
> > > > 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.
>
> > > If it's commenting out the include that fixes things, why are you so
> > > sure that it's the extend at fault rather than something else in the
> > > module? Personally I'd be inclined to thing that by including your
> > > module you're accidentally shadowing an existing method on the
> > > controller - if you were to show a minimal example that reproduces the
> > > problem rather than dummy code someone might be able to have a guess
> > > (I suspect the issue may have been lost in translation from your
> > > actual code to the example you gave since the latter isn't valid ruby
> > > (for example you're including a class rather than a module)
>
> > > Fred
> > > > Why?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment