How to differentiate the form_for with respect to routes

I have my devise routes as

get "/signup/employer" => "devise/registrations#new" ,:as=>:useremp get "/signup/contractor" => "devise/registrations#new",:as=> :usercontract

Both routes points to controller -> registrations and action -> new.When i hit the URL /signup/employer then my form_for should have the field as Employer and Contractor for /signup/contractor.

Need the form_for based on the routes,how to achieve this

Nike Mike wrote in post #1109024:

I have my devise routes as

get "/signup/employer" => "devise/registrations#new" ,:as=>:useremp get "/signup/contractor" => "devise/registrations#new",:as=> :usercontract

Both routes points to controller -> registrations and action -> new.When i hit the URL /signup/employer then my form_for should have the field as Employer and Contractor for /signup/contractor.

Need the form_for based on the routes,how to achieve this

Try something like:

get "/signup/:user_type" => "devise/registrations#new"

Then you should see something like this in params:

Now sending a URL like:

GET http://localhost:3000/signup/employer

Will generate a params hash that looks like:

{"user_type"=>"employer"}

Now whatever you put at the end of the URL will be available inside the params hash:

def new   if params[user_type] == "employer"     # Employer   else if params[user_type] == "contractor"     # Contractor   else     # Invalid user_type   end end