class Profile < AR
belongs_to :user
has_many :files
end
class File < AR
belongs_to :profile
end
I think you might want to reconsider using the name File as this is
already a class in Ruby. Whether this is the cause of your problem I
don’t know, but I would try that first.
I think you might want to reconsider using the name File as this is
already a class in Ruby. Whether this is the cause of your problem I
don’t know, but I would try that first.
Or just put the profile data in the user table of course.
yebbut… encapsulation is a “good thing”… and you wouldn’t want
to encourage the OP to denormalise for the sake of it. It is nice to
have classes responsible for their own stuff. I like to keep the User
model of my own for just authentication/essential info, and delegate
addresses, telephones, hobbies, etc, to their own classes… horses
for courses
Or just put the profile data in the user table of course.
yebbut… encapsulation is a “good thing”… and you wouldn’t want
to encourage the OP to denormalise for the sake of it. It is nice to
have classes responsible for their own stuff. I like to keep the User
model of my own for just authentication/essential info, and delegate
addresses, telephones, hobbies, etc, to their own classes… horses
for courses
I agree about the encapsulation, it all depends on rest of the app
which way to go. However I don’t think your use of the word
denormalise is correct. The db would not be denormalised by moving
stuff into the user table. There would be no replication of data as
it is a has_one relationship. It would not be appropriate for things
such as hobbies which would likely be a habtm relationship.
However I don’t think your use of the word
denormalise is correct.
yeah… wrong term… sorry for any confusion. Encapsulation and
separation of responsibility is more the gist of why I’d keep the User
and Profile stuff apart. All personal preference and project
requirements decisions though…
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.