---
title: not yet
teaser:
tags: web,rails
author: Jared Carroll
published_on: 2008-04-24
---

Ok here's an app as of right now.

All the app consists of are some forms for creating users, some forms for users
to create comments, plus 1 additional page that displays each user and the total
number of comments they have created.  There is NO page that displays a comment
and its user who created it.

The correct domain model based on the requirements right now is:

```ruby
class User < ActiveRecord::Base

  has_many :comments

end

class Comment < ActiveRecord::Base
end
```

This association is unidirectional, it can only be traversed in one direction.
There is no point in making this association bidirectional by adding a
corresponding `belongs_to :user` in `Comment`.  Adding that would be premature
and a case of massive over-engineering.  Since the association from `Comment` to
`User` currently is not used in the app, adding it would just cause unnecessary
complexity.

There is nothing wrong with unidirectional associations.  Don't make all
associations bidirectional when its just not necessary; someday it might be but
until then don't do it.
