0

嗨我正在使用对称加密(This one) gem加密一些字段。我已经生成了所有的关键字,并遵循其中给出的所有步骤。但是,当我试图将数据保存在我的服务器,它抛出这些线路上的错误未定义的方法`encrypted_latitude'for#<位置:0x007f574a4eef50>

attr_encrypted :latitude 
attr_encrypted :longitude 

错误是

undefined method `encrypted_latitude' for #<Location:0x007f574a4eef50> 

我已经检查类型,步骤,创业板和一切看起来罚款。 任何想法,我失踪了...所有的作品,当我从模型中删除这些行。此外,我已经添加attr_accessible两个领域,protected_attributes宝石,使attr_accessible工作

任何想法,我去wrong..Thanks

+0

是列名'encrypted_latitude'在你的桌子吗? – emaillenin

+0

您是否听说过[虚拟属性](http://hibbard.eu/using-virtual-attributes-in-rails-3/)。 – curiousCoder

+0

不,我没有......但这是什么东西在这种情况下 –

回答

0

看起来你可能没有了位置的一个实例。查询结束时你有第一个吗?

lat = Latitude.where(query).first 
+0

当我申请加密否我不能第一次得到.. –

0

的错误意味着命名encrypted_latitude列不是在你的locations表中。

doc

class User < ActiveRecord::Base 
    # Requires table users to have a column called encrypted_bank_account_number 
    attr_encrypted :bank_account_number 
+0

这意味着我需要在表中添加encrypted_latitude字段..这是没有意义因为我想要对这些字段进行加密,以保持正常和加密的不同字段...在同一表 –

+0

中将纬度字段重命名为encrypted_latitude。正常值不会被存储。 – emaillenin

+0

ahh..ok谢谢...我尝试并接受答案... :) –

相关问题