Проверка логического значения в Rspec и Rails

Я не совсем понимаю, как проверять логические значения в Rspec и Rails. Я понимаю все, кроме false и nil , взятых за true в Ruby. Но когда я использую MySQL с Rails, он использует 1 для true и 0 для false (если мое понимание верно).

У меня есть следующая модель спец. Я' описать пользователя сделать до (: каждый) делать @valid_attributes = { : username => "mike", : password => "super_encryped_password", : email => " mike@example.com ", : superuser => правда } конец он "должен создать новый экземпляр с заданными допустимыми атрибутами" User.create! (@ Valid_attributes) конец это "должно иметь истину или ложь для суперпользователя" делать @valid_attributes [: superuser] = "привет" User.new (@valid_attributes). Должен иметь (1) .error_on (: superuser) конец конец com / yearperiod / 2005 / detail

Что является хорошим решением этой проблемы? Моя первая мысль - преобразовать каждый / в - , но затем я столкнулся с проблемой / накладными расходами на необходимость отслеживать, какие из них были преобразованы, так что при обратной записи в DB Я не случайно переключаю действительные - на / (если это имеет смысл)

edit: придет к этому подумать, я бы не знал как отслеживать каждую конвертированную / ... хмммм .....

edit1: Учитывая эту строку: «2001/2 - Fruit»

var encodedLinkText = HttpContext.Current.Server.UrlEncode(linkText); //result is "2001%2f2+-+Fruit"

, но потом, если я позвоню что linkhelper, с моей точки зрения, отображается как: просмотреть источник:

  • 2001/2 - фрукты li>
  • предоставленная ссылка: http: // localhost: XXXX / Period / 2001/2 + - + Fruit

    , а мне нужно это как:

    http: // localhost: XXXX / Period / 2001% 2f2 + - + Fruit

    edit2: Браузер (тестирование в chrome) автоматически преобразует % 2f в / . Что теперь?

    edit3: э-э-э ... похоже IE работает должным образом (как требуется) ... хммм ...

    • IE отображает ссылку правильно (закодировано) и после нажатия на нее остается закодированным.
    • Firefox отображает декодированную ссылку и после кодирования щелчка.
    • Chrome отображает декодированную ссылку и после декодирования щелчка.

    1
    задан baron 7 September 2010 в 02:06
    поделиться