Если это просто для целей регистрации, добавления параметра должно быть достаточно.
Если логика того, как обрабатываются вещи, зависит от того, откуда пришел пользователь, перейдите к различным маршрутам, сопоставляемым с различными действиями.
Если вы не хотите добавлять параметр, но этодля регистрации, вы также можете создать нестандартный маршрут:
resources :products, :except => [:new, :create] do
collection do
get products/new(/:section) => "products#new"
post products(/:section) => "products#craete"
end
end
Теперь вы можете иметь new_message_path(:section => "admin")
, и это приведет к пути /products/new/admin
, у вас будет :section
, доступный в params[:section]
.