# What can go into the User model to allow users to have profiles?

**URL:** <https://www.ruby-forum.com/t/what-can-go-into-the-user-model-to-allow-users-to-have-profiles/178768>\
**Category:** Rails\
**Created:** [November 11, 2009, 2:07am UTC](https://www.ruby-forum.com/t/what-can-go-into-the-user-model-to-allow-users-to-have-profiles/178768 "2009-11-11T02:07:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlwaysCharging](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ee7513/32.png) [@AlwaysCharging](https://www.ruby-forum.com/u/AlwaysCharging)\
**Post date:** [November 11, 2009, 2:07am UTC](https://www.ruby-forum.com/t/what-can-go-into-the-user-model-to-allow-users-to-have-profiles/178768/1 "2009-11-11T02:07:57Z")

</div>

I’m learning Rails and still a little unclear as to what goes where.

In my app I want to have Users (which I’ll probably use  
restful\_authentication or authlogic). So I set up my Users model  
(which I can follow), but how do I allow users to have “profile” pages  
for pics, about me’s, and blog posts for that user? Would that be set  
up in another model then tied back to the Users model? Or, could a  
user’s profile be enabled directly in the User model? (I don’t think  
so because the User has some sensitive information in it (email,  
password) and it’s not a good idea to put the two together, right?)

So, how does everyone allow their Users to have profile pages? I’m  
sure there’s a lot of ways to do this, but whats the generally  
accepted, or most common, way to do this? A user model AND a profile  
model, which is tied to the user\_id? Or is there a better way?

Thank you for any and all input. It’s greatly appreciated.

(side note: are there any screencasts that show how this is done? I’m  
still going through the railscasts, as well as some other screencasts  
I’ve found on various sites, so I might eventually find it. Just  
didn’t know if anybody knew of any offhand.)

---

<div class="post-metadata">

**Author:** ![AlwaysCharging](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ee7513/32.png) [@AlwaysCharging](https://www.ruby-forum.com/u/AlwaysCharging)\
**Post date:** [November 11, 2009, 2:32am UTC](https://www.ruby-forum.com/t/what-can-go-into-the-user-model-to-allow-users-to-have-profiles/178768/2 "2009-11-11T02:32:02Z")

</div>

AlwaysCharging wrote:

> I’m learning Rails and still a little unclear as to what goes where.
> 
> In my app I want to have Users (which I’ll probably use  
> restful\_authentication or authlogic).

Use Authlogic. Restful\_authentication produces unmaintainable garbage.

> So I set up my Users model  
> (which I can follow), but how do I allow users to have “profile” pages  
> for pics, about me’s, and blog posts for that user? Would that be set  
> up in another model then tied back to the Users model? Or, could a  
> user’s profile be enabled directly in the User model?

Either could work. I think I’d lean toward the latter approach.

> (I don’t think  
> so because the User has some sensitive information in it (email,  
> password) and it’s not a good idea to put the two together, right?)

Not necessarily. Just make sure you’ve got things appropriately  
protected b

> So, how does everyone allow their Users to have profile pages?

You’re asking a really general question that’s not amenable to a  
cookbook reply.

> I’m  
> sure there’s a lot of ways to do this, but whats the generally  
> accepted, or most common, way to do this? A user model AND a profile  
> model, which is tied to the user\_id? Or is there a better way?

Whatever works for your data model.

> Thank you for any and all input. It’s greatly appreciated.
> 
> (side note: are there any screencasts that show how this is done? I’m  
> still going through the railscasts, as well as some other screencasts  
> I’ve found on various sites, so I might eventually find it. Just  
> didn’t know if anybody knew of any offhand.)

## Best,

Marnen Laibow-Koser  
[http://www.marnen.org](http://www.marnen.org)  
removed\_email\_address@domain.invalid
