我试图点击每个管理员表格,以便他们最近一次显示。
例如,我想通过created_at DESC订购供应商表 - 这意味着最新的供应商显示在顶部。
目前在views / admin / suppliers / index.html.haml:
中%thead
%tr
%th= sort_link(@search, :name, 'ID')
%th= sort_link(@search, :name, 'Name')
%th= sort_link(@search, :category, 'Category')
%th= sort_link(@search, :region, 'Region')
%th Review Count
%th Average rating
%th Claimed?
%th Owner
%th
%th
%th
%tbody
= render @suppliers
在views / admin / suppliers / _supplier.html.haml中:
%tr
%td= supplier.id
%td= supplier.name
%td= supplier.category_name
%td= supplier.region_name
%td= supplier.review_count
%td= supplier.average_overall_rating
%td= supplier_claimed_label(supplier.owned?)
并在我的controllers / admin / suppliers_controller.rb中:
def index
@search = Supplier.search(params[:q], :order => params[:sort] || "created_at DESC")
@suppliers = @search.result
end
但这似乎并没有这样做。
有人可以帮忙吗?
由于
答案 0 :(得分:0)
我不确定Ransack的具体内容,除了我在文档中可以阅读的内容,但result
的返回是一个ActiveRecord关系,所以你可以添加额外的ActiveRecord方法来影响你的结果如此...
def index
@search = Supplier.search(params[:q])
@suppliers = @search.result.order(created_at: :desc)
end
我无法对此进行测试,因为我没有这个宝石的项目,但这应该有效。