我想知道为什么 rails 3 jquery autocomplete gem 在整数类型的列中不起作用。
我有一个列名代码顺便说一句。
autocomplete :category, :code
代码是整数,但每当我尝试实现自动完成时,它都不起作用。
问题参与者尝试cast_to_text
解决:https ://github.com/greg-barnett/rails3-jquery-autocomplete/blob/13d20b087f261690553dff268ff39bb6893ddaa3/lib/rails3-jquery-autocomplete/orm/active_record.rb
但我不明白如何真正使用它,因为它也不起作用。
看法:
<%=f.autocomplete_field :category_id, autocomplete_category_code_project_procurement_management_plans_path, class:'cat-code',:full => true%>
PS:代码是我自己声明的主键。
set_primary_key "code"
这就是为什么,我真的需要将代码更改为整数,但似乎自动完成与它不兼容。
根据 Chrome 的“检查元素”功能。
网络日志:
ActiveRecord::StatementInvalid 在 /project_procurement_management_plans/autocomplete_category_code========================================= ==================================================== =======> PG::Error: ERROR: function lower(integer) does not existLINE 1: SELECT categories.code FROM "categories" WHERE (LOWER(cate...
^HINT: 没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。:SELECT categories.code FROM "categories" WHERE (LOWER(categories.code) ILIKE '100%') ORDER BY categories.code ASC LIMIT 10(gem) activerecord-3.2 .11/lib/active_record/connection_adapters/abstract_adapter.rb,第 291 行------------------------------------------------ -------------------------------------------------- --------ruby 286 raise exception 287 end 288 289 def translate_exception(e, message) 290 # override in derived class> 291
应用程序回溯-------------完整回溯-------------- - (gem) activerecord-3.2.11/lib/active_record/connection_adapters/abstract_adapter.rb :291:in
ActiveRecord::StatementInvalid.new(message) 292 end 293
294 end 295 end 296 endtranslate_exception' - (gem) activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:1145:in
translate_exception' - (gem) activerecord-3.2.11/lib/active_record/connection_adapter/abstract_adapter.rb:284:inrescue in log' - (gem) activerecord-3.2.11/lib/active_record/connection_adapters/abstract_adapter.rb:275:in
log' - (gem) activerecord-3.2.11/lib/active_record/connection_adapter/postgresql_adapter.rb :661:inexec_query' - (gem) activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:1248:in
select' - (gem)
等等。
任何解决方法将不胜感激谢谢。