nit*_*der 1 postgresql ruby-on-rails geokit
我刚刚开始使用Rails为我正在构建的应用程序玩geokit.我的记录得到了地理编码,但是当我进入控制台看看我能用它做什么时它会爆炸以下内容:用户是我的数据库中带有lat和lng的用户对象
>> Restaurant.find(:all, :origin => user)
Restaurant Load (0.0ms) PGError: ERROR: operator does not exist:
numeric - character varying
LINE 1: ...*, SQRT(POW(111.1819*(-33.872517-restauran...
^
HINT: No operator matches the given name and argument type(s). You
might need to add explicit type casts.
: SELECT *, SQRT(POW(111.1819*(-33.872517-restaurants.lat),2)+
POW(76.7136337302943*(151.205536-restaurants.lng),2))
AS distance FROM "restaurants"
ActiveRecord::StatementInvalid: PGError: ERROR: operator does not
exist: numeric - character varying
LINE 1: ...*, SQRT(POW(111.1819*(-33.872517-
restauran...
^
HINT: No operator matches the given name and argument type(s). You
might need to add explicit type casts.
: SELECT *, SQRT(POW(111.1819*(-33.872517-
restaurants.lat),2)+
POW(76.7136337302943*(151.205536-restaurants.lng),
2))
AS distance FROM "restaurants"
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:
212:in `log'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/connection_adapters/
postgresql_adapter.rb:538:in `execute'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/connection_adapters/
postgresql_adapter.rb:1019:in `select_raw'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/connection_adapters/
postgresql_adapter.rb:1006:in `select'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/connection_adapters/abstract/
database_statements.rb:7:in `select_all_without_query_cache'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/connection_adapters/abstract/
query_cache.rb:62:in `select_all'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/base.rb:661:in `find_by_sql'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/base.rb:1548:in `find_every'
from /Users/chris/projects/mine/lunchdecider/vendor/rails/
activerecord/lib/active_record/base.rb:615:in `find'
from /Users/chris/projects/mine/lunchdecider/vendor/plugins/geokit-
rails/lib/geokit-rails/acts_as_mappable.rb:138:in `find'
from (irb):10
Run Code Online (Sandbox Code Playgroud)
有什么想法可以解决这个问题吗?遗憾的是,当我尝试搜索我的错误消息时谷歌帮助不大...
在您的迁移中,您可能创建了restaurants.lat和restaurants.lng作为字符串(字符变化),而它们应该是浮点数.Postgres不会为你投这个.改变列类型你应该没问题.
| 归档时间: |
|
| 查看次数: |
939 次 |
| 最近记录: |