Rails: лучшее понимание динамических областей

Это моя "динамическая" сфера:

  def all_games(conditions = {})
    scope = games.includes(:stats).scoped {}
    scope = scope.where sport_position_id: conditions[:sport_position_id] unless conditions[:sport_position_id].nil?
    scope = scope.where sport_id: conditions[:sport_id] unless conditions[:sport_id].nil?
    scope = scope.where team: conditions[:team]
    scope.order(:date)
  end

Метод выше в модуле, который включен в мой User модель.

Таким образом, вы получите доступ к этому в коде, например так:

u = User.find(1)
u.all_games(sport_position_id: params[:sport_position_id], sport_id: current_sport.id, team: params[:team])

При поиске в Google динамических областей я наткнулся на RailsCast Райана Бэйта на anonymous scopes ( http://railscasts.com/episodes/112-anonymous-scopes). Я изменил его, так как использую Rails 3, но мне было интересно, был ли я на правильном пути, когда речь шла о написании динамических областей?

Я иногда пишу динамические области из-за природы некоторых сложных API, которые я пишу.

0 ответов

Другие вопросы по тегам