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の「要素の検査」機能によると。
ネットワーク ログ:
/project_procurement_management_plans/autocomplete_category_code で ActiveRecord::StatementInvalid======================================= ================================================== =======> PG::Error: ERROR: function lower(integer) does not existLINE 1: SELECT categories.code FROM "categories" WHERE (LOWER(cate...
^HINT: 指定された名前に一致する関数はありませんおよび引数の型明示的な型キャストを追加する必要がある場合があります。 .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:
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_adapters/abstract_adapter.rb:284:rescue in log' - (gem) activerecord-3.2.11/lib/active_record/connection_adapters/abstract_adapter.rb:275:in
ログで' - (gem) activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb :661:inexec_query' - (gem) activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:1248:in
select' - (gem)
等々。
任意の回避策をいただければ幸いです。