Странный ответ для controller.request.format.html? в рельсах - PullRequest
0 голосов
/ 02 октября 2009

В моем главном контроллере у меня есть это:

class MainController < ApplicationController  

  before_filter do |controller|
    logger.info "controller.request.format.html? = #{controller.request.format.html?}"
    logger.info "controller.request.format.fbml? = #{controller.request.format.fbml?}"
    controller.send :login_required if controller.request.format.html?
    controller.send :facebook_auth_required if controller.request.format.fbml?
  end

Как и ожидалось, я получаю "true" для ... fbml?строка, если запрос приходит из Facebook (мой гем facebooker автоматически устанавливает формат).Тем не менее, я получаю «5» для ... HTML?линия, если запрос приходит с Facebook.Почему бы метод с?когда-нибудь вернуть "5"?Разве это не противоречит соглашениям Rails?Кроме того, я думаю, что «5» считается истинным, так что это может испортить мои фильтры.Все еще изучаете это ...

Есть идеи?

1 Ответ

1 голос
/ 02 октября 2009

Единственное, что оценивается как ложное в Ruby, это false и nil. Вот замечательный молниеносный разговор с прошлогоднего RubyConf, который объясняет все это менее чем за семь минут: Природа Истины

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