blgroup
(blgroup)
1
Having trouble with a somewhat unconventional modelling in Rails
2.2.2.
Take three table.
1. User model with primary integer id and a unique string guid.
2. Model X has foreign key to User as integer user_id and its model
includes
belongs_to :users
3. Model Y has foreign key to User as string user_guid and its model
includes
belongs_to :users, :foreign_key => 'user_guid'
This tells Rails which column to use in Model Y to look up Users.
But How do I tell Rails which column to use in User?
In other words, how do I tell Rails to join (or select) from
Users.guid instead of Users.id when referencing Y.user?
The has_one and has_many association has a :primary_key option, but
this seems to be missing on the belongs_to association
How do people work around this? Any help would be greatly
appreciated.
Thanks,
=Blair.
Having trouble with a somewhat unconventional modelling in Rails
2.2.2.
Take three table.
1. User model with primary integer id and a unique string guid.
2. Model X has foreign key to User as integer user_id and its model
includes
belongs_to :users
3. Model Y has foreign key to User as string user_guid and its model
includes
belongs_to :users, :foreign_key => 'user_guid'
Are you sure you don't mean:
belongs_to :user, :foreign_key => 'user_guid' #<- Using singular 'user'
then Y.user should work fine
This tells Rails which column to use in Model Y to look up Users.
But How do I tell Rails which column to use in User?
In other words, how do I tell Rails to join (or select) from
Users.guid instead of Users.id when referencing Y.user?
The has_one and has_many association has a :primary_key option, but
this seems to be missing on the belongs_to association
How do people work around this? Any help would be greatly
appreciated.
Thanks,
=Blair.
Setup your user model like this:
class User < ActiveRecord::Base
set_primary_key :guid
end
Andrew Timberlake
http://ramblingsonrails.com
http://www.linkedin.com/in/andrewtimberlake
"I have never let my schooling interfere with my education" - Mark Twain