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.
No, that plugin was merged into trunk more than 8 months ago. Those methods aren’t documented because they are added dynamically by metaprogramming magic so RDoc doesn’t pick them up. I will be submitting a documentation patch for polymorphic URL helpers later today because this module was previously undocumented.