Ruby on Rails осведомленность о пути - PullRequest
1 голос
/ 17 августа 2011

Рассмотрим следующую ситуацию.Существует products_controller , к которому можно получить доступ из разделов «Admin» и «Configure» приложения Ruby on Rails.

В представлении мне необходимо различать, в каком разделе я сейчас нахожусь (т.е.«Админ» или «Настроить»).Какова будет лучшая практика для достижения правильного результата?

Несколько решений приходят на ум?

  1. Добавить опцию "referrer" в качестве параметра и использовать ее дляразличать, откуда я пришел (я думаю, это было бы ужасно и нарушило бы природу отдыха).

  2. Создание отдельных пар действий в контроллере (то есть new / create и admin_new / admin_create ).

Каков будет правильный подход в данной ситуации?

1 Ответ

1 голос
/ 17 августа 2011

Если это просто для целей регистрации, добавления параметра должно быть достаточно.

Если логика того, как обрабатываются вещи, зависит от того, откуда пришел пользователь, перейдите к различным маршрутам, сопоставляемым с различными действиями.

Если вы не хотите добавлять параметр, но этодля регистрации, вы также можете создать нестандартный маршрут:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...