小编stu*_*ney的帖子

查看列值是否已更新

我有一个复杂的用户模型和验证方法

before_validation_on_update :geocode_places
Run Code Online (Sandbox Code Playgroud)

每次更新发生时,此验证都会对用户表中的"places"列进行地理编码.

问题是这种验证需要相当长的时间.是否有任何方法只在更新places列时调用此验证?有点像"before_validation_on_column_update",可以说......

ruby activerecord ruby-on-rails

6
推荐指数
1
解决办法
257
查看次数

Activerecord具有哈希值的位置

我有一个带有cached_info字段的City模型,它是一个序列化的哈希.

{:population=>20000, :more_stuff =>....}
Run Code Online (Sandbox Code Playgroud)

如果我在Activerecord中进行以下查询.

City.where('cached_info[:population] > 300').count
Run Code Online (Sandbox Code Playgroud)

我回来了......

ActiveRecord::StatementInvalid: Mysql2::Error: 
You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near '[:population] > 300)' at line 1: SELECT COUNT(*) FROM `places` WHERE `places`.`type` = 'City' AND (cached_info[:population] > 3)
Run Code Online (Sandbox Code Playgroud)

任何人有一个解决方法吗?

ruby sql activerecord ruby-on-rails

4
推荐指数
1
解决办法
4670
查看次数

标签 统计

activerecord ×2

ruby ×2

ruby-on-rails ×2

sql ×1