GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS

Written by thoughtbot

not yet

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 # 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:

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.