In ActiveFacts you have a one_to_one (sorta what has_one is, but  
symmetrical,
you just say it on one end and you get the other end for free), and  
has_one,
which is sort what belongs_to is, except it also creates the symmetric  
has_many
on the other model.

You never need to say has_many, it comes for free.

Clifford Heath.

On 12/01/2009, at 5:41 PM, Ben Hoskings wrote:

> Yep.
>
> If it's a 1-n relationship (as opposed to an n-n), the model with  
> the foreign key is the one that belongs_to the other model.
>
> Ben Hoskings
>
>
> On 12/01/2009, at 4:06 PM, Ryan Bigg wrote:
>
>> A status in your example would "has_many" comments, as many  
>> comments can have the same status. Therefore, a comment would  
>> belongs_to a status.
>> -----
>> Ryan Bigg
>> Freelancer
>> http://frozenplague.net
>>
>>
>>
>>
>>
>>
>>
>> On 10/01/2009, at 11:41 AM, Matt wrote:
>>
>>> That's not a great case for the has_one association because as you  
>>> pointed out, the real world usage probably isn't there.
>>>
>>> Here's a couple for you
>>>
>>> class Student < ActiveRecord::Base
>>>   # so in here, there's an id, name for the student and any other  
>>> details they may have
>>>   has_one :locker
>>> end
>>>
>>> class Locker < ActiveRecord::Base
>>>   # here you have the fields id, locker_number, student_id (this  
>>> is the one for the association)
>>>   belongs_to :student
>>> end
>>>
>>> ---
>>>
>>> class Sale < ActiveRecord::Base
>>>   # id and whatever other fields
>>>   has_one :invoice
>>> end
>>>
>>> class Invoice < ActiveRecord::Base
>>>   # id, sale_id, any other fields you want
>>>   belongs_to :sale
>>> end
>>>
>>> Do they help at all?
>>>
>>> Matt Didcoe
>>> [email protected]
>>>
>>>
>>> On Sat, Jan 10, 2009 at 4:54 AM, sohdubom <[email protected]>  
>>> wrote:
>>>
>>> as an example i thought that the following case could be a good one
>>> for has_one relationship, but i ended up very confused:
>>>
>>> - suppose i have a Comment model with attributes:  author, content,
>>> status (just 3 to simplify)
>>>
>>> - i wouldn't do that in a real scenario, but let's say i don't  
>>> want to
>>> create enums for status and decide to normalize it by creating an
>>> extra model: Status
>>>
>>> in this case: a comment has_one status (like new, ok, bad, ...), so
>>> the Comment model will have as fk: status_id and status belongs_to
>>> comment (in singular) or status belongs_to comments (plural) ?
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to