【发布时间】:2014-07-28 09:08:38
【问题描述】:
Ruby 2.0.0、Rails 4.0.3、Windows 8.1 更新、PostgreSQL 9.3.3
我已经构建了一个 XLog 类,它允许我从我的应用程序中的任何控制器内将记录写入 PostgreSQL。但是,它是围绕类变量的使用而构建的。我想知道是否可以将其转换为实例变量。
在ApplicationController中,我实例化类变量并写入第一条记录:
@@xaction = XLog.new
@@xaction.info(
controller: self.class.name,
action: "start",
status: "success"
)
在应用程序中的任何时候,我都可以使用散列引用@@xaction.info 来记录任何事务的成功或失败。它有效...
XLog 是:
class XLog < ActiveRecord::Base
def info hash
logger.info "XLog " << hash.collect { |key, value| "#{key}: #{value}; "}.join # map?
XLog.create(
controller: hash[:controller],
associate: hash[:associate],
proxy: hash[:proxy],
object: hash[:object],
value: hash[:value],
action: hash[:action],
status: hash[:status],
message: hash[:message]
)
end
end
【问题讨论】:
标签: ruby-on-rails ruby postgresql logging