Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I add additional fields to the Devise 'sign up' page?

I'm very new to Rails and devise so here goes...

I've installed devise and everything is working fine but I'd like to add a few more fields to my registration page. For instance, I have a usertype drop down that I'd like to add (populated by a Usertype Model - works fine in test) and would also like to collect different information depending on the type of user it is (CC information, etc.) Can someone point me to a resource or something. I tried overriding the Registration controller but that didn't link back to the devise views or fall in line with DRY principles to me (to copy the views). Thanks in advance for suggestions.

like image 841
eBilly Avatar asked Mar 09 '11 04:03

eBilly


People also ask

What are devise extensions?

An enterprise security extension for Devise, trying to meet industrial standard security demands for web applications. It is composed of 7 additional Devise modules: :password_expirable - passwords will expire after a configured time (and will need an update).


1 Answers

Just add columns to the user and then add additional features in the views.

script/generate migration add_user_type_to_user

Then in your migration rake file:

add_column :users, :user_type, :string

and then rake db:migrate. Next you can add a drop down to your view and you can get those through rails generate devise:views:

<%= f.select :user, :user_type options_for_select(['admin', 'no status'])%>
like image 93
thenengah Avatar answered Oct 11 '22 23:10

thenengah