Tuesday, May 14, 2013

[Rails] Re: How to differentiate the form_for with respect to routes

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

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate