Dumb question

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'