我正在使用使用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>
答案 0 :(得分:0)
在您的搜索者中尝试此操作:Arel.sql("CONVERT(course.id, CHAR(7))")
。