`
yautah
  • 浏览: 10256 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

关于updated_at(updated_on)的问题

阅读更多
表中有updated_at和last_viewed_at两个字段,原意是想记录修改时间和最后访问时间.

于是在controller中做了一个after_filter:
 
  after_filter:update_last_viewed,:only => "show"
  


相应的方法:
 
   def update_last_viewed
     @group.update_attributes(:last_viewed => Time.now)
   end
   def show
     @group = Group.find(params[:id])
   end
  


现在问题来了,使用update_attributes方法更新last_viewed_at字段,可是同时updated_at字段也随之更新了...
解决方法探究中...
分享到:
评论
4 楼 robbin 2007-10-24  
ddtlby 写道
def update_last_viewed        
  Group.update(@group.id,:last_viewed_at=>Time.now)
end 


你这种写法是不行的,会更新group的所有column。
3 楼 ddtlby 2007-10-23  
def update_last_viewed        
  Group.update(@group.id,:last_viewed_at=>Time.now)
end 
2 楼 yautah 2007-10-23  
robbin 写道
def update_last_viewed  
  @group.last_viewed_at = Time.now
  Group.update_all ['last_viewed_at = ?', Time.now], ['id = ?', @group.id]
end  
没问题了!!

多谢老大指点!
1 楼 robbin 2007-10-23  
def update_last_viewed  
  @group.last_viewed_at = Time.now
  Group.update_all ['last_viewed_at = ?', Time.now], ['id = ?', @group.id]
end  

相关推荐

    objection-timestamps:Objection插件可自动修改模型上的created_at和updated_at列

    异议时间戳记自动修改模型上的created_at和updated_at列。设置基本的基本设置假定您的表中有created_at和updated_at列。 let Model = require ( 'objection' ) . Model ;let timestampPlugin = require ( 'objection...

    sqlmedo有时间的记录

    updated_at DATETIME ON UPDATE CURRENT_TIMESTAMP ); ``` 这里,`created_at`字段默认设置为当前时间,而`updated_at`字段在每次记录更新时自动更新。 2. **插入数据**:当我们添加新的记录时,可以使用`INSERT ...

    mysql自动生成时间1

    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); ``` 在这个例子中,`created_at`字段会在新记录插入时自动填充当前时间,而`updated_at`字段不仅在插入时会自动填充,而且每次...

    数据库优化以及操作说明

    Take a look at this code: EXECUTE dbo.IndexOptimize @Databases = 'USER_DATABASES', @FragmentationLow = NULL, @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', ...

    做尚医通项目遇到的问题及相关问题笔记

    CREATE TABLE temp( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(10), created_at timestamp NULL DEFAULT '0000-00-00 00:00:00', updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE ...

    MySQL表中添加时间戳的几种方法

    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); ``` 在这个例子中,`created_at`字段会在数据插入时自动获取当前时间,而`updated_at`字段则会在数据更新时自动更新为当前时间...

    MySql示例1:创建账户表及测试数据.zip

    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); ``` 接下来,测试数据的导入是为了验证表的正确性和功能。在MySQL中,我们可以使用`INSERT INTO`语句来添加记录。例如,如果我们...

    fixture_me:从开发数据库为 Ruby on Rails 应用程序生成装置

    固定装置我生成用于测试的夹具和夹具文件如果您想从开发数据库为 Ruby on Rails 应用程序生成装置,这里是一个帮助器。... create_all_fixtures 排除 created_at 和 updated_at 列 fixme = FixtureMe ::

    Updated Analysis of PatchGuard on Microsoft Windows 10 RS4

    Updated Analysis of PatchGuard on Microsoft Windows 10 RS4 Since Windows 64b, PatchGuard has been of great interest in Windows security. For most iterations of its development, several people have ...

    devnotesapi:Projeto Simples de API以及NodeJS

    Crie o Banco de Dados CREATE DATABASE表示字符集utf8mb4 COLLATE utf8mb4_general_ci;...TIMESTAMP, updated_at时间戳NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY( id ))ENGI

    devsnoteapi:Projeto Simples de API以及NodeJS

    Crie o Banco de Dados CREATE DATABASE表示字符集utf8mb4 COLLATE utf8mb4_general_ci;...TIMESTAMP, updated_at时间戳NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY( id ))ENGI

    easy-model

    简易模型MySQL简单模型,简单查询。 轻松输入!安装npm i mysql-easy-type mysql2例子CREATE DATABASE ` test `;... ` updated_at ` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , PRI

    mysql如何设置默认时间为当前时间

    ADD COLUMN `updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; ``` 这样,`updated_at`字段将被添加到`existing_table`中,其默认值和更新行为与前面提到的一致。 ### 三、...

    laravel 解决多库下的DB::transaction()事务失效问题

    'updated_at' => LARAVEL_START, ]); RoomUserRoleLog::insert([ // 假设这是 'mysql2' 的模型 'uid' => $uid, 'handle_type' => 1, 'admin_uid' => Auth::user()->id, 'created_at' => LARAVEL_START, '...

    laravel-go:Laravel Golang

    Laravel Go Laravel的Golang开源框架,包含了GORM,Echo等,当前配置里的APP_POLICE... `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=Inno

    数据库sql语句作业1

    SELECT id, name, description, createdat, updatedat, specialityid FROM courses WHERE specialityid = 1 ORDER BY createdat DESC LIMIT 10 OFFSET 10; ``` 假设courses表存储课程信息,上述SQL语句将...

    Python-轻松整合Django模型的常见行为

    author = models.ForeignKey(User, on_delete=models.CASCADE) ``` 4. **编辑**(Editing):为了跟踪内容的修改历史,可以使用版本控制库如`django-reversion`。它提供了一个方便的管理界面,可以查看和恢复过去...

    activerecord-sortable:gem activerecord-sortable 允许您轻松地将 jquery ui sortable 与您的模型集成

    任何位置列更改都会影响updated_at和updated_on列值。 Gem 包含 jQuery 插件,可以轻松地将拖放与move_to!集成move_to! (见下面的例子)。例子 # Gemfilegem 'activerecord-sortable'gem 'jquery-ui-rails' # if ...

    一个win32下的ARM开源编译器

    This package is an ARM assembler add-on for FASM. FASMARM currently supports the full range of instructions for 32-bit and 64-bit ARM processors and coprocessors up to and including v8. Contents: ...

    sqlalchemy实现时间列自动更新教程

    为了解决这个问题,使时间列在每次数据更新时自动更新,我们可以利用SQLAlchemy的`onupdate`参数,如下所示: ```python from sqlalchemy import Column, Integer, String, DateTime, Boolean, TIMESTAMP, func ...

Global site tag (gtag.js) - Google Analytics