ruby-on-rails - Rails 在使用 distinct 删除重复记录时出错
问题描述
我有一个控制器方法,我在其中从不同的网站爬取数据。我在查询中使用 distinct 以便不显示重复记录。
当我在我的视图文件中添加分页时,它会给出一些错误,但没有分页它可以正常工作。
这是我的控制器方法:
def search_results
@search_data = RtaDubai.where(query_string: @topic.title)
.distinct(:query_string).page(params[:page]).order('id desc')
end
这是我的视图文件分页代码:
<%= will_paginate @search_data %>
这是错误:
F,[2019-03-06T08:52:03.692939 #106281] FATAL -- : [c72525d9-dcd2-4e7d-9851-d72f3940ec09] ActionView::Template::Error (PG::SyntaxError:ERROR: 在或附近出现语法错误")"
第 1 行:从 "rta_dubai" WHERE "rta_dubai"." 中选择 COUNT(DISTINCT)...
:从“rta_dubai”中选择计数(DISTINCT),其中“rta_dubai”。“query_string”= $1):
F,[2019-03-06T08:53:41.989800 #107285] 致命 -- : [3946d2c4-3fa3-486c-aa48-c5454b54d111] 94: <% end %>
[3946d2c4-3fa3-486c-aa48-c5454b54d111] 94
[3946d2c4-3fa3-486c-aa48-c5454b54d111] 96: -->
[3946d2c4-3fa3-486c-aa48-c5454b54d111] 97: <%= will_paginate @search_data %>
[3946d2c4-3fa3-486c-aa418-c598:454b] -->
[3946d2c4-3fa3-486c-aa48-c5454b54d111] 99:
[3946d2c4-3fa3-486c-aa48-c5454b54d111] 100:
F, [2019-03-06T08:53:41.989829 #1072485] 致命 -- c: -3fa3-486c-aa48-c5454b54d111]
F,[2019-03-06T08:53:41.989852 #107285] 致命 -- : [3946d2c4-3fa3-486c-aa48-c5454b54d111]
app/views/sentiment_analysis/search_results.html.erb:97:in `_app_views_sentiment_analysis_search_results_html_erb__418975307880197008 2_38946080'
解决方案
def search_results
params[:page] ||= 1
@search_data = RtaDubai.where(query_string: @topic.title)
.uniq
.order('id desc')
.paginate(:page => params[:page], :per_page => 30)
end
推荐阅读
- jquery - 当表格行处于活动状态时显示 XML 数据
- mysql - 使用 JPA 进行递归查询以获取员工层次结构
- python - 标准缩放器和 MinMaxScaler 之间的区别
- python - CNTK Faster RCNN 图像预测结果边界框大小始终跟随图像大小
- windows - Windows command prompt help in PowerShell
- javascript - How to use a variable after it was a jquery function has run
- javascript - React: redux persistence in local storage
- flutter - 从网络加载图像时如何修复 Listview 滚动卡顿
- mysql - 在 Amazon Linux 上安装 MySQL 时遇到问题
- c# - 如何在c#中将字符串数组转换为字节数组