How to handle Profile Informations with :has_many_through ?

Hi,

i try to implement a Profile System for the users into my Rails App.
i want to implement it with these models:

class Profile < ActiveRecord::Base
  has_many :Profileships
  has_many :users, :through => :Profileships
  # Gehört zu einer Profil Gruppe
  belongs_to :profile_group
end

class Profileship < ActiveRecord::Base
    belongs_to :user
    belongs_to :Profile
end

class ProfileGroup < ActiveRecord::Base
  # Eine Profil Gruppe hat mehrere Profile
  has_many :profiles
end

So a user can edit his Profile informations of a Profile group, stored
in the Profileship Database(there is a value fieldin the Profileship
table).
Do you think this is a good solution, or should i manage the Profile
informations in one model and avoid the :has_many_through thing?
How should i handle the views, because i think i have to setup a view
for every Profilegroup, because i cant build them dynamical, because i
can't figure out if a information needs a input or a textare or .... .

What you have setup there is a Many to Many association. Is that
really what you want? Can one profile belong to multiple users?

If you give us a better understanding of your end goal we may be able
to help more.

Thats right, because every User has the same profile fields , the
possible Profile fields are saved in the Profile model.
The value of a profile field of one user is saved in the Profileship
model in the field "value".
So how can i put that in a view based on the Profilegroup?

LeonS wrote:

Thats right, because every User has the same profile fields , the
possible Profile fields are saved in the Profile model.
The value of a profile field of one user is saved in the Profileship
model in the field "value".
So how can i put that in a view based on the Profilegroup?

What on earth are you trying to achieve? What is a profile group for?

How do you want this to work from the user's perspective?

Best,

So, for example there are profile field for work, main profile fields,
contact field (msn, email, adress....) and so.
So i think there is usage for the user.

LeonS wrote:

So, for example there are profile field for work, main profile fields,
contact field (msn, email, adress....) and so

These could all be in the User model or, failing that, in a separate
Profile model where User has_one :profile. Why do you need Profileship
and ProfileGroup?

So i think there is usage for the user.

Not as far as you've explained. Please explain more clearly if I've
missed something.

Best,

Let me explain Why i Write the Models:
i'm Coming from Database Development, so normalization is very
Important for me.
If i create just a Profile Model and put all possible profile Fields
into that, than there is no normalization
Should i avoid the normalization in Case of RoR and keep the Models
assimple As possible?

LeonS wrote:

Let me explain Why i Write the Models:
i'm Coming from Database Development, so normalization is very
Important for me.

To me too.

If i create just a Profile Model and put all possible profile Fields
into that, than there is no normalization

Of course there is. Won't every user have the same set of profile
fields?

If not, what is your use case? No theory for the moment, just an actual
example.

Should i avoid the normalization in Case of RoR and keep the Models
assimple As possible?

No, you should normalize without overcomplicating.

Best,