Флажок направляющих на MySql сохранил как пустой указатель или нуль

7
задан James A. Rosen 24 September 2008 в 18:55
поделиться

3 ответа

Давайте предположим, что атрибут, с которым Вы работаете, club_member как в "действительно ли Вас club_member?".

Обратите внимание, что в Ruby/направляющих, способ, которым он работает теперь, if model.club_member возвратит false, если он не будет проверен (значение является нулевым или в Ruby, ноле) и верным, если он проверяется (значение 0).

В целом я настоятельно рекомендовал бы вместо того, чтобы позволить другим приложениям (как приложение C) непосредственно в данных, вместо этого создать API в Ruby/направляющих для представления данных от приложения до внешних объектов. Этим способом Вы будете лучше инкапсулировать внутренности своего приложения, и Вы не должны будете волноваться о вещах как это.


Однако все, что быть сказанным, вот Ваш ответ:

Использование:

value="1"

... припишите в своих HTML-тэгах флажка и установите значение по умолчанию булева атрибута (в Вашей миграции) к 0.

3
ответ дан 7 December 2019 в 10:10
поделиться

Существует много потенциальных причин этого:

  • Удостоверьтесь, что столбец в базе данных имеет тип "булевская переменная" в миграции
  • Поместите значение по умолчанию в булевы значения
  • Используйте "check_box" на форме, не "check_box_tag"
  • Некоторые версии направляющих имели это поведение на сгенерированных лесах, я думаю, устанавливая значение по умолчанию, зафиксированное это, но я не могу вполне помнить.
2
ответ дан 7 December 2019 в 10:10
поделиться

А как насчет:

value.to_i.zero?

>> a=nil
=> nil
>> a.to_i.zero?
=> true
>> a=0
=> 0
>> a.to_i.zero?
=> true
>> a=3
=> 3
>> a.to_i.zero?
=> false
1
ответ дан 7 December 2019 в 10:10
поделиться
Другие вопросы по тегам:

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