Splitted class into separate table activerecord

Suppose that in legacy schema,that you are working on getting
ActiveRecord to work with, you aren’t keeping all the information about
user, with the user’s main information in the users table, but in a
separate table.

For example:

<

>
user_id
firstname
lastname

<

>
user_id <><>
username,
password

In my domain I wish to have User model with username,password properties
without create class model related to auth_info table and relative
association. Is there a way to do this with ActiveRecord ?

You can also use the Rails delegate feature. I know you said you didn’t
want
to create the the AuthInfo model but I’m not sure there’s any harm to
it?

class User
has_one :auth_info
delegate :username, :username=, :password, :password=, :to =>
:auth_info
end

class AuthInfo
belongs_to :user
end

The 13/09/11, Vogon P. wrote:

lastname

<

>
user_id <><>
username,
password

In my domain I wish to have User model with username,password properties
without create class model related to auth_info table and relative
association. Is there a way to do this with ActiveRecord ?

I would redefine the method_missing feature (Ruby) in the model User.
Something like

class User
def method_missing(sym, *args, &block)
if (user_auth_info and user_auth_info.respond_to? name) then
return auth_info.send(sym, *args, &block)
else
super
end
end
end

This is NOT TESTED.


Nicolas Sebrecht