`
mike.gao
  • 浏览: 46596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

用户操作数据库记录

阅读更多
今天我们看看怎样在数据库记录用户操作
db/migrate/002_add_audit_trails_table.rb
class AddAuditTrailsTable < ActiveRecord::Migration
  def self.up
    create_table :audit_trails do |t|
      t.column :record_id, :integer
      t.column :record_type, :string
      t.column :event, :string
      t.column :user_id, :integer
      t.column :created_at, :datetime
    end
  end

  def self.down
    drop_table :audit_trails
  end
end



app/models/audit_swpeeper.rb
class AuditSweeper < ActionController::Caching::Sweeper
  observe Person
  def after_destroy(record)
    log(record, "DESTROY")
  end

  def after_update(record)
    log(record, "UPDATE")
  end

  def after_create(record)
    log(record, "CREATE")
  end

  def log(record, event, user = controller.session[:user])
    AuditTrail.create(:record_id => record.id,
                      :record_type => record.type.name,
                      :event => event,
                      :user_id => user)
  end
end



然后我们需要告诉PeopleController在操作Person对象时用audit_sweeper来记录操作
app/controllers/people_controller.rb
cache_sweeper :audit_sweeper

由于auditing机制依赖与Rails的缓存代码,所以确保config/environments/development.rb里将config.action_controller.perform_caching设置为true
分享到:
评论

相关推荐

    易语言客户端源码,易语言服务器源码,易语言远程操作数据库

    易语言远程操作数据库源码,远程操作数据库,记录增加,记录查找,记录修改,记录删除

    关于给用户分配资源(数据库表)中某条记录的操作权限问题-行控制

    关于给用户分配资源(数据库表)中某条记录的操作权限问题-行控制

    作业6 JSP JDBC操作数据库

    作业6 JDBC操作数据库 作业类型:验证性实验 实验目的:理解JDBC接口操作数据库的方法,熟练掌握数据的增删改查。 实验内容: 1. 在MySQL或其他DBS中创建一个数据库TestDB,其中创建表user,表至少3个字段(编号,...

    spring的aop方式,审计记录用户操作步骤服务,mysql数据库

    spring的aop方式,审计记录用户操作步骤服务,mysql数据库

    pdo的mysql数据库操作类.zip

    dbtemplate类集合了对数据库的访问操作,主要有以下几个操作: 1. queryrows:返回多行记录 2. queryrow:返回为单条记录 3. queryforint:查询单字段,返回整数 4. queryforfloat:查询单字段,...

    JDBC数据库常用操作封装(升级版)

    为方便大家下载,由5分改为0分!...用户只需使用DBOperationAdapter即可完成对数据库的常见操作. 运用设计模式,用户只要改改配置文件即可跨数据库.乱码问题自己解决目前支持mysql/ms sqlserver. enjoy. :)

    vc6.0数据库编程

    为操作数据库的手段,并运用增删改查的数据库常用查询语句。 第十五章:网页浏览和网址限制功能模块,利用数据库中的网址记录,通过查询匹配 限制用户对某些特定网址的访问,并作访问记录,主要应用DAO方式访问...

    用触发器生成数据库表的数据操作日志

    本文将介绍如何使用触发器,把DML(数据操作语言)对数据库中的特定数据表的改动记录下来。因为我们要写入文件系统,安全权限开始有影响了。所以,执行插入操作的用户必须具备该文本文件的读写权限。因此,设计一个C...

    数据库作业答案1

    1.试述数据、数据库、数据库管理系统、数据库...数据库管理系统:位于用户和操作系统之间的一层数据管理软件,属系统软件范畴; 数据库系统:计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统

    神通数据库-数据库快速入门.pdf

    作为企业级大型、通用对象关系型数据库管理系统,神通数据库为用户提供的功能包括: • 支持丰富的数据类型 神通数据库所支持的数据类型包括:字符串类型、位串类型、精确数值类型、布尔型、近似数值类型、 日期类型...

    软件工程中常用数据库操作的SQL语句(2)

    软件工程中常用数据库操作的SQL语句软件工程中常用数据库操作的SQL语句软件工程中常用数据库操作的SQL语句

    数据库课程设计在线银行系统设计及实现

    JSP与数据库的链接,日期获取ATM存取款功能实现,登出功能的实现登录与注册功能实现,session跳转个人信息查询功能实现本系统采用了可视化的集成开发环境MyEclipse 10编辑用户界面,以MySQL为后台数据库并以...

    自考04735数据库系统原理课后答案及重点总结.docx

    数据库管理系统(Database Management System,DBMS):专门用于建立和管理数据图的一套软件,介于应用程序和操作系统之间 数据库系统(Database System, DBS):是指在计算机中引入数据库技术之后的系统。 包括:...

    数据库第三方操作工具DBTOOLS

    多用户使用该软件时,可以随时记录某个用户对数据库的操作。 7。可以为进行压力测试,自动生成数据。 8。导出表结构,根据表结构和数据库中的表结构进行差分。 9。导出DB结构,和现有环境DB进行表结构差分 10。导出...

    对用户操作进行纪录,并写入日志

    纯源代码,通过它可以实现用户对系统操作的纪录

    数据库习题 数据库查询练习

    t-sql 数据库习题 1.描述事物的符号记录称为________。 A、信息 B、数据 C、记录 D、记录集合...3._____是位于用户与操作系统之间的一层数据管理软件。 A、数据库系统 B、数据库管理系统 C、数据库 D、数据库应用系统

    数据库概念总结

    数据库管理系统是位于用户与操作系统之间的一层数据管理软件。包括:数据库定义功能,数据组织、存储和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能。 数据库系统是指在计算机系统中...

    Oracle数据库基础教程-参考答案

    数据库系统由数据库、操作系统、数据库管理系统、开发工具、应用系统、数据库管理员以及数据库用户组成。 (4) 概念模型是用简单、清晰、用户易于理解的概念来描述现实世界具体事物及事物之间的关系。它是现实世界...

    oracle 数据库用户被锁定在linux下操作

    自己在linux 下处理oracle 用户锁定的操作记录,希望能方便有需要的人。

    数据库概论

    位于用户与操作系统之间的一层数据管理软件。主要功能包括以下几个方面: 1.数据定义功能:数据定义语言(Data Definition Language,DDL) 2.数据操纵功能: 数据操纵语言(Data Manipulation Language,DML) 3.数据库的...

Global site tag (gtag.js) - Google Analytics