在用户模型中,我有类型点的属性位置。现在我有一个验证码:
validates :location, :format => { :with => /\(-?\d+(?:\.\d+)?,-?\d(?:\.\d+)?\)/,
:on => :update,
:if => :location_changed? }
它在console,localhost上工作正常,但在heroku上它返回:
由UsersController处理#update更新为 / 2012-07-31T18:14:37 + 00:00 app [web.1]:参数: {“user”=> {“location”=>“(3.545452,2.4353534)”},“id”=>“self”} 2012-07-31T18:14:37 + 00:00 app [web.1]:已完成500内部服务器 错误13ms 2012-07-31T18:14:37 + 00:00 app [web.1]: 2012-07-31T18:14:37 + 00:00 app [web.1]:NoMethodError(未定义的方法
location_changed?' for #<User:0x00000004dc29c8>): 2012-07-31T18:14:37+00:00 app[web.1]:
更新'
app/controllers/users_controller.rb:16:in
实际上它在heroku控制台中也很有用,但在curl请求中不起作用。
Rails版本3.2.7。
attr_accessible :profile_picture, :password, :location
谢谢!
答案 0 :(得分:0)
它看起来像一个魔术。如果表和服务器重新启动,我用娱乐修复它。很奇怪。