【发布时间】:2017-05-19 13:55:26
【问题描述】:
我想在我的太阳黑子搜索中添加排序。无需订购搜索即可完美运行。 这是我的搜索方法:
def search
@search = User.search do
keywords params[:q]
paginate page: params[:page]
order_by(:C2, :desc)
end
@users = @search.results
respond_to do |format|
format.html { render :action => "index" }
end
end
我的用户模型
class User < ActiveRecord::Base
searchable do
text :C1
text :C2
end
end
所以我明白了
没有为名为“C2”的用户配置字段
在 order_by 行
另外我认为问题的原因可能是 C2 是文本,而不是字符串,所以我已经完成了下一个 hack:
class User < ActiveRecord::Base
searchable do
text :C1
text :C2
string :sort_title do
C2.downcase
end
end
end
为了在控制器中添加order_by (:sort_title, :desc),但由于某种原因,当我重新索引时,我得到了:
NameError: 未初始化的常量 User::C2
我做错了什么?
【问题讨论】:
-
分享你的用户模型..
-
@Md.FarhanMemon 请仔细检查,它在那里
-
我的意思是表格的列..
-
用户:id、C1、C2、C3、C4、C5、created_at、updated_at。
-
@Md.FarhanMemon 我认为第一个错误肯定是因为文本类型......但是第二个错误的原因是什么,我什至没有想法。有什么想法吗?
标签: ruby-on-rails ruby-on-rails-4 solr sunspot