Pourquoi est - `before_save " ne travaillent pas dans les Rails 4?
Quand j'essaie u = User.new
suivie par u.save
, le before_save
méthode n'est pas d'être congédié.
Voici mon User
modèle:
class User < ActiveRecord::Base
attr_accessor :password
before_save :encrypt_password
def encrypt_password
puts "Its getting called"
end
end
https://railsforum.com/topic/1741-rails-4-and-before-save-method/
Si vous êtes juste des tests, il est déclenché, vous devez utiliser
où est le fichier journal à regarder?
C'est qu'une question piège? Il devrait y avoir un
Rails.log.info "Bonjour", il n'a pas d'imprimer quoi que ce soit dans le développement.journal
Vous ne signifie
Rails.logger.debug
. Normalement, cela devrait fonctionner.où est le fichier journal à regarder?
C'est qu'une question piège? Il devrait y avoir un
log
votre dossier de rails dossier, et il doit contenir un development.log
fichier (si vous êtes en mode développement).Rails.log.info "Bonjour", il n'a pas d'imprimer quoi que ce soit dans le développement.journal
Vous ne signifie
Rails.logger.info
droit? Je suis à l'aide de rails 4 avec une avant de les enregistrer sans problème. Est-ce votre classe vous a montré?OriginalL'auteur Shane | 2014-04-13
Vous devez vous connecter pour publier un commentaire.
Les méthodes de rappel doivent être
protected
ouprivate
.À partir d'ici: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html en vertu de la section
Types of callbacks
Il ne s'imprime pas à la console; il apparaît sur le shell que vous utilisez votre serveur. Ou si votre serveur est en cours d'exécution à travers quelque chose comme apache ou nginx, il devrait être dans leur fichier journal.
essayez logger.info ou Rails::logger.info pour déboguer
OriginalL'auteur