I am overriding the create action of the devise Registrations Controller. I have two forms for signup, individual or company, a company has a field called company_form set t
Partial rendering in a controller is most commonly used together with Ajax calls that only update one or a few elements on a page without reloading. Rendering of partials from the controller makes it possible to use the same partial template in both the full-page rendering (by calling it from within the template) and when sub-page updates happen (from the controller action responding to Ajax calls). By default, the current layout is not used.
This may be the reason your code is not working you can use rendering template.
Template rendering works just like action rendering except that it takes a path relative to the template root. The current layout is automatically applied.
if resource.company_form
render :template => "shared/company_signup_form"
else
render :template => "shared/individual_signup_form"
end
** REMOVE UNDERSCORE from your partail name because you are using this as a template.
Hope this works !