使用Ransack通过ID查找记录

时间:2018-02-16 11:57:58

标签: ruby-on-rails ruby ruby-on-rails-4 rubygems ransack

我正在使用使用ransack的rails应用程序。我目前在其中一个视图中有错误。错误读取

  

没有针对course_id的有效谓词

经过研究,解决方案似乎是将id列从整数转换为字符串。我在网上看到了这段代码,但我对将代码放在哪个文件

感到困惑
  ransacker :id do
    Arel::Nodes::SqlLiteral.new(
    "regexp_replace(to_char(\"#{table_name}\".\"id\", '99999999'), ' 
    ', '', 'g')"
    )
  end

这是我的ransack.rb文件

ENV["RANSACK_FORM_BUILDER"] = "SimpleForm::FormBuilder"

require "ransack"
Ransack.configure do |config|
  config.ignore_unknown_conditions = false
end

在我的erb文件中,我有

<%= simple_search_form_for @ransack do |f| %>
  <div class="row">
    <div class="col-md-4">
      <%= f.input :id_eq %>
      <%= f.input :title_cont %>
    </div>
  </div>
   

1 个答案:

答案 0 :(得分:0)

在您的搜索者中尝试此操作:Arel.sql("CONVERT(course.id, CHAR(7))")