Вы не обойдетесь без ЛЮБЫХ переключателей, но вы можете написать помощник, чтобы хотя бы не допустить его в код вашего представления.
Я бы посоветовал вам взглянуть на url_for
помощник в Railsи используйте это внутри помощника следующим образом:
def conditional_path(action)
if (params[:company_id]
url_for(:controller => 'users', :action => action, :company_id => params[:company_id])
else
url_for(:controller => 'users', :action => action, :invoice_id => params[:invoide_id])
end
end
Что-то вроде этого вы можете получить с помощником столько, сколько захотите