Folks
Can a model just have a belongs_to only? or do you have to have a
belongs_to and a has_many or has_one on the other model?
Of course you can.
On Sun, May 27, 2012 at 1:34 PM, brent brent [email protected]
wrote:
Folks
Can a model just have a belongs_to only? or do you have to have a
belongs_to and a has_many or has_one on the other model?–
Active Record Associations — Ruby on Rails Guides
–
Greg A.
http://twitter.com/akinsgre
What belongs_to and their counterparts does is create a method to access
an
existing relationship, the actual relationship is made in the tables
themselves by adding model_id columns, for instance:
class User < ActiveRecord::Base
has_one :address
end
class Address < ActiveRecord::Base
belongs_to :user
end
# Shows the address whose addresses.user_id = users.id
User.last.address
# Shows the user whose users.id = addresses.user_id
Address.last.user
If you don’t need to access the relationship in the Address model just
delete belongs_to :user
:
class Address < ActiveRecord::Base
end
User.last.address # Shows address
Address.last.user # NoMethodError: undefined method `user'