Ruby on rails 在Rails模型中,如果表不';不存在?
我有几个数据库使用Ruby on rails 在Rails模型中,如果表不';不存在?,ruby-on-rails,ruby,activerecord,callback,Ruby On Rails,Ruby,Activerecord,Callback,我有几个数据库使用记录模型。在这个模型的保存后的回调中,我在日志表中创建了一个新行。我有点像: class Records < ActiveRecord::Base after_save :record_to_log def record_to_log new_log = LogTable.new new_log.keyword = "keyword" new_log.save end end class记录
记录
模型。在这个模型的保存后的回调中,我在日志表中创建了一个新行。我有点像:
class Records < ActiveRecord::Base
after_save :record_to_log
def record_to_log
new_log = LogTable.new
new_log.keyword = "keyword"
new_log.save
end
end
class记录
但并非所有数据库都有LogTable
表。我收到一个错误,说明日志表
不存在。如何防止此错误,如果特定数据库中不存在该表,是否有方法中止保存?您可以通过以下方式检查该表是否存在:
ActiveRecord::Base.connection.table_exists? 'log_table'
回调可以修改为
after_save :record_to_log, :if => ActiveRecord::Base.connection.table_exists?('log_table')