becomes(klass)

Returns an instance of the specified klass with the attributes of the
current record. This is mostly useful in relation to single-table
inheritance structures where you want a subclass to appear as the
superclass. This can be used along with record identification in
Action Pack to allow, say, Client < Company to do something like
render :partial => @client.becomes(Company) to render that instance
using the companies/company partial instead of clients/client.

Note: The new instance will share a link to the same attributes as the
original class. So any change to the attributes in either instance
will affect the other.

In your case: link_to 'Show', credential.becomes(Credential)

You may also decide to have your controller specify the class instead,
there is probably a clean way but I don't know it off the top of my
head.

- Daniel
strd6.com

On Sep 28, 1:13 pm, JHuizingh <[EMAIL PROTECTED]> wrote:
> I have a credentials_controller and Credential model.  The Credential
> model is an STI structure with a number of classes inheriting it.  For
> example:
>
> class CredWebsite1 < Credential
>
> When I try to do the index command in the credentials controller, it
> gives the error undefined method
>
> ---------------
> NoMethodError in Credentials#index
>
> Showing credentials/index.html.erb where line #17 raised:
>
> undefined method `cred_website1_path' for #<ActionView::Base:
> 0xb6f74494>
>
> Extracted source (around line #17):
> 17:     <td><%= link_to 'Show', credential %></td>
> -----------------
>
> I want all of the inherited models to use the path for
> credentials_controller.  How do I set that up?
>
> Thanks,
> Jonathan
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to