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 M. 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