Лучше ли иметь один URL для каждого массового обновления или несколько URL? - PullRequest
0 голосов
/ 23 января 2012

У меня есть страница обслуживания пользователей.На этой странице есть список пользователей, где администратор может делать массовые обновления для выбранных им пользователей.Массовые обновления включают в себя: активацию, деактивацию и обновление ролей до.

Если должен быть один POST-адрес, например /users/bulk_update.json, где я затем передаю список идентификаторов и тип метода.И в моем действии bulk_update я обновляю идентификаторы в соответствии с методом.

Или должен быть URL для каждого метода, например /users/bulk_update_activate, /users/bulk_update_deactivate и /users/bulk_update_roles?

1 Ответ

0 голосов
/ 23 января 2012

Быстрый ответ: это зависит! :)

Если тип ваших обновлений использует много логики кода.

1) Использовать фильтр:

class FirstController < ApplicationController
  # Other controller code

  before_filter :prepare_update
  after_filter :finalize_update

  def bulk_update_activate
    # Do something here
  end

  def bulk_update_deactivate
    # Do something here
  end
end

2) Используйте одно действие:

class SecondController < ApplicationController
  # Other controller code

  def bulk_update
    case params[:operation]
      when :activate then
        # Do something here
      when :deactivate then
        # Do something here
    end
  end
end

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

В своих проектах я обычно использую первый подход.

Надеюсь, это будет полезно.

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