Dans mon application Rails 4, j'ai un modèle post
avec un attribut personnalisé :date
.Rails 4: condition sur model.date.strftime ("% u") jamais vrai
Dans le fichier post.rb
, je défini la méthode suivante:
def test_days
if self.date.strftime("%u") == 4
"Message 1"
elsif self.date.strftime("%u") == 5
"Message 2"
else
"Message 3"
end
end
Quelle que soit la date que j'attribuons à un objet après, je reçois toujours « Message 3 » affiché - même quand je devrais obtenir « Message 1 » ou "Message 2".
J'ai essayé Today.date.strftime ("% u") et j'ai obtenu 1 (qui est la bonne réponse, puisque nous sommes lundi dans mon fuseau horaire). Donc, il semble que ma condition, c'est-à-dire: self.date.strftime("%u") == 4
ou self.date.strftime("%u") == 5
n'est jamais vraie.
Mais je n'arrive pas à comprendre pourquoi.
Une idée?
Impressionnant! Je suis allé avec la solution numéro 1, mais heureux de savoir qu'il existe une deuxième option. Merci beaucoup pour votre aide. –