Как мне работать с субкомпонентами на основе ajax в рельсах 3? - PullRequest
2 голосов
/ 01 марта 2012

Я занимаюсь рефакторингом приложения rails 3 и хочу знать, как лучше всего работать с субкомпонентами на основе ajax?

У меня есть контроллер «приборной панели». Который отображается с помощью действия 'dashboard # show'.

И теперь я хочу иметь компонент 'tabs' на основе ajax, который является частью панели инструментов.

У меня есть два возможных решения:

решение 1: реализовать компонент вкладок как действие, например, 'dashboard # tabs' (это мое текущее решение). Это дает мне уродливых помощников:

  • tabs_dashboard_path

решение 2: внедрили его как вложенный ресурс, например 'Панели / вкладки # шоу. Это даст хорошо названные помощники, например ::11015

  • dashboard_tabs_path

Имея в виду, у меня есть много других компонентов AJAX, что будет лучшим способом действий?

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

Например, маршруты будут указаны как:

resource :dashboard, :only => [:show], :controller => "users/dashboard" do
  resource :tabs :only => [:show], :controller => "users/dashboard/tabs" do
    resource :steps :only => [:show], :controller => "users/dashboard/tabs/steps"
    #etc....
  end
end

Есть ли хороший способ справиться с этим?

1 Ответ

0 голосов
/ 13 мая 2012

Я стараюсь держать своих контроллеров с помощью очень небольшого количества действий, и то, которое имеет дело только с основными глаголами REST. Поэтому в ситуации с несколькими шоу я бы оставил один dashboard#show и имел бы партиалы / макеты для обработки вкладок. Мое обоснование заключается в том, что сами вкладки не являются ресурсами, и я бы не стал выполнять над ними какие-либо действия RESTful.

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