Thanks a lot!

On Feb 26, 7:11 pm, Matt Jones <[email protected]> wrote:
> On Feb 26, 2010, at 5:38 PM, Ivan wrote:
>
>
>
>
>
> > Hi,
>
> > I'm trying Hobo for the first time, so maybe I'm missing something,
> > but it seems polymorphic associations aren't working properly. Steps
> > to reproduce:
>
> > hobo poly
> > cd poly
> > script/generate hobo_model_resource address street:string
> > script/generate hobo_model_resource person name:string
> > Add "belongs_to :addressable, :polymorphic => true" to address model
> > Add "has_many :addresses, :as => :addressable" to person model
>
> > When runing the server and upon trying to create an address, the
> > following error is thrown:
>
> > NoMethodError in AddressesController#new
> > undefined method `view_hints' for ActiveRecord::Base:Class
>
> > Trace:http://pastie.org/844950
>
> You appear to have tripped on a bug - the select-one tag that's  
> generated for the 'addressable' association is failing to correctly  
> locate the model name. In this case, select-one isn't going to work  
> anyways, as it next tries to load the possible options. In this case,  
> that'd be pretty tough given that there's no (easy) way to grab all  
> the classes that declare the corresponding has_many.
>
> There's lots of ways to get the offending input to not be generated,  
> but probably the quickest would be to add:
>
> never_show :addressable
>
> to your Address model. This will skip all the various view bits that  
> aren't terribly compatible with polymorphic associations.
>
> Of course, that only makes sense if you're planning on mostly creating  
> addresses via an input-many on the various 'addressable' pages - a  
> strategy I'd recommend.
>
> --Matt Jones

-- 
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en.

Reply via email to