Rails - associations help

Hi
I have two models .
Dbase

name
vendor
type
port
defuser - default user name

Users

username
password
email

I need to build an association between these two in that the dbase
model’s defuser needs to be present in the users table. I am from a
relational database background so am trying hard to understand rails
associations.
What should I do to associate the dbase’s defuser - > users.username?
I read the documents and everything was based on the column ‘id’.

Any help is appreciated.

Are you trying to link Dbase to a user as defuser (default_user)?
If so, this would work

class Dbase < ActiveRecord::Base
belongs_to(:defuser, :class_name => ‘User’, :foreign_key =>
‘defuser’)
end

It would be better rails practice to call the column
“default_user_id”, and then make the association like this:

class Dbase < ActiveRecord::Base
belongs_to(:default_user, :class_name => ‘User’)
end

Btw, the column name “type” is a reserved rails. It is used for single
table inheritance.
Unless you are using single table inheritance here, I suggest you
rename it to dbase_type, otherwise you may encounter strange error
messages.

Thanks for the code and also for the note. I’ve changed the var to
db_type. Also, what is the difference between having the :foreign_key
=> ‘defuser’ and not, in your case of the first code and the 2nd?

Also, is there an IRC channel for rails?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs