Where does SmileComment suddenly come from?
Anyway, there are several things going wrong. First off, I would change the name of your model from UserComment to Comment. The fact that a comment belongs to an user is already made clear through your association. Calling User.first.user_comments seems a bit akward.
Let us start with a really basic example:
class User < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :user
end
As you did in your migration, the comments needs a user_id to reference the user it belongs to. After running the migration, calling the association is dead simple:
User.first.comments # Gives all comments belonging to that user
Or:
Comment.first.user # Gives the user that belongs to that comment