Comment définir la valeur null à travers les rails de modèle?
comment faire une valeur null par modèle en ruby on rails? Par exemple, j'ai un checkbox
appelé 'include_on_epc'
et la textbox
appelé 'removal_reason'
.
Si la case est cochée, je veux mettre la valeur de la zone de texte doit être NULL dans la base de données.
J'ai essayé la suite, sa ne fonctionne pas.
class Emm::Rrr::Result < ActiveRecord::Base
before_save :no_removal_reason_when_including_on_epc
private
def no_removal_reason_when_including_on_epc
if include_on_epc == 1
self.removal_reason == nil
end
end
end
Vous devez vous connecter pour publier un commentaire.
De deux questions.
Comme Jakob souligné,
self.removal_reason == nil
compareremoval_reason
ànil
, et que vous voulez ensembleremoval_reason
ànil
. Doncself.removal_reason = nil
est certainement ce que vous voulez ici.Si
include_on_epc
est unboolean
colonne, en les comparant à1
n'est pas d'aller travailler. Vous voudrez probablement une simpleif include_on_epc
parce que ses valeurs sont susceptiblestrue
oufalse
, pas1
ou0
, et en Ruby1 != true
.Il semble que
self.removal_reason == nil
devrait êtreself.removal_reason = nil
. Vous souhaitez affectation, pas de comparaison dans cette ligne, je suppose. 😉include_on_epc
peut-être "1" pas 1. Essayezif include_on_epc.to_i == 1
ou de contre-vérifier une chaîne de caractères et voir si cela fait une différence