Направляющие: Почему with_exclusive_scope защищен? Какая-либо хорошая практика о том, как использовать его?

Существует также тестовая структура Джерси (http://jersey.java.net/nonav/documentation/latest/user-guide.html#test-framework), но, как Йохан уже упомянул REST-гарантированную структуру, я бы также порекомендуйте эту платформу - она ​​имеет некоторые приятные особенности, такие как DSL, такие как синтаксис, проверка XPath и схемы, простая загрузка файлов и использование Groovy лямбда-выражений для поиска в возвращаемых структурах JSON.

Я написал две статьи ..

47
задан John Topley 30 October 2009 в 11:14
поделиться

2 ответа

Вы должны инкапсулировать защищенный метод внутри модельного метода, например:

class Ticket < ActiveRecord::Base
  def self.all_tickets_from(user)
    with_exclusive_scope{user.tickets.find(:all)}
  end
end
20
ответ дан 26 November 2019 в 19:07
поделиться

По возможности избегайте default_scope . Я думаю, вам стоит еще раз спросить себя, зачем вам default_scope . Противодействие default_scope часто оказывается более беспорядочным, чем оно того стоит, и его следует использовать только в редких случаях. Кроме того, использование default_scope не очень показательно, когда доступ к ассоциациям билетов осуществляется вне модели билета (например, «Я позвонил account.tickets . Почему там нет моих билетов? "). Это одна из причин, по которой with_exclusive_scope защищен. Вы должны попробовать синтаксический уксус , когда вам нужно его использовать.

В качестве альтернативы используйте гем / плагин, например pacecar , который автоматически добавляет полезные named_scopes к вашим моделям, давая вам больше раскрывая код везде. Например:

34
ответ дан 26 November 2019 в 19:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: