Как пропустить перед фильтрами для запросов json/xml в рельсах

Я нашел способ пропустить перед фильтрами на основе формата, как показано ниже, но мне интересно, есть ли лучший способ, поскольку это загромождает вещи и не очень СУХОЙ.

before_filter do |controller|
  :current_cart unless controller.request.format.js?
end

Если я этого не делаю, запросы json терпят неудачу, потому что метод current_cart и другие методы делают вещи, предназначенные только для html.

Ответ 1

Вы можете сделать это следующим образом:

before_filter :current_cart, :unless => :format_js?

def format_js?
  request.format.js?
end

Надеюсь, что это поможет.