Ruby on rails 为什么“before_save”在Rails 4中不起作用?
当我尝试Ruby on rails 为什么“before_save”在Rails 4中不起作用?,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,当我尝试u=User.new后跟u.save时,不会触发before\u save方法 这是我的用户型号: class User < ActiveRecord::Base attr_accessor :password before_save :encrypt_password def encrypt_password puts "Its getting called" end end class用户
u=User.new
后跟u.save
时,不会触发before\u save
方法
这是我的用户
型号:
class User < ActiveRecord::Base
attr_accessor :password
before_save :encrypt_password
def encrypt_password
puts "Its getting called"
end
end
class用户
回调方法需要
保护
或私有
从这里开始:在
回调类型
部分下,如果您只是测试它是否被触发,您应该使用Rails.logger.debug
。正常情况下,这应该是可行的。@nathanvda:日志文件在哪里?这是一个诡计问题吗?在你的rails文件夹中应该有一个log
文件夹,它应该包含一个development.log
文件(如果你在开发模式下运行)。@nathanvda:rails.log.info“Hello”它在development.log中不打印任何内容。你的意思是rails.logger.info
对吗?我使用的rails 4在保存之前没有任何问题。这是您展示的完整类吗?puts“Hello”仍然没有将任何内容打印到rails控制台。在控制台中打印的任何特定方法。它不会打印到控制台;它将出现在运行服务器的shell上。或者,如果您的服务器运行的是apache或nginx之类的程序,则应该在各自的日志文件中。@Shane请尝试logger.info或Rails::logger.info进行调试