Re: polymorphic_urls and REST routes

adish
2008-01-20T19:38:09Z

Hi Mislav,

  Excellent! Just what I needed. Thanks!
I couldn''t find it in my Rails 2.0.2 installation.
I need the "Simply Helpful" plugin, right?

Thanks,
Adi

On Jan 20, 3:10 pm, "Mislav Marohnić"
<mislav.maroh...@gmail.com>
wrote:
> I believe this is by design.
>
> When you say link_to(text, record), a polymorphic url is constructed
> depending on the model. But when you say edit_person_path, you are
> explicitly stating that you are dealing with Person records and that no
> polymorphism should take place.
>
> I understand that when using STI you have a need for a polymorphic helper,
> but I don''t think changing the behavior of named routes (explicit
or
> automatically generated) is a solution - it would just be the source of
more
> confusion for others.
>
> Your cup of tea would be the edit_polymorphic_path helper, as in this
> example I just put up:http://pastie.org/141162
>
> - Mislav
>
> On Jan 20, 2008 1:32 PM, adish <adisha...@gmail.com> wrote:
>
>
>
> > Hi,
>
> >  With a simple STI Employee < Person, I can write in the Person
> > view.rhtml.erb :
>
> > ...
> > link_to ''Show'', person
> > ...
>
> > and the correct controller will be call depending on the actual
> > (concrete) type of the record.
> > I think this is because link_to() uses polymorphic_url() internally.
>
> > However, the restful helpers, such as edit_person_path() fail to
> > choose the correct controller and always route to the Person
> > controller. This seems inconsistent and confusing.
>
> > How can I reroute edit_person_path() to take the polymorphic type into
> > account, and route to the correct controller?
>
> > Is this by design or a bug?
>
> > I hope I made myself clear.
> > Thanks,
> > Adi