I have a User model with the usual information (login, email, name, location, etc). However, when users decide to edit their information, I’d like to separate the fields to be edited according to the appropriate concerns.
For example, I’d like to have Name, Bio and Location to be edited on a Profile page or tab, and login, email and password to be edited on an Account page or tab.
What are the best practices, and the safest way, to accomplish that? Should I have two separate model/resources: User and UserProfile? Or can I just create something like a profile method in the UserController, with a custom form with only the specific profile fields, and link to it in the user page? I’m really confused on how to go about this.
Thanks in advance for any ideas you might have.
I think it depends on the rest of your Application. It sounds like in your case it’s good to be modular. If you want users to be able to see the profile of other users, it’s an advantage to have a separate model for the Profile and like it with a has_one relationship. I’d just call the class
Profileso it can be accessed throughuser.profilein your controllers and views.Models: