Rails 默认使用 MetaSearch 排序

发布于 2024-12-09 03:03:52 字数 248 浏览 1 评论 0原文

我正在使用 gem 元搜索来提供一些排序功能。该页面默认为 created_at ASC 类型,但我希望它是 created_at DESC,但我无法明确说明这一点,因为它将覆盖 MetaSearch 的排序功能。

def index
  @search = Photo.search(params[:search])
end

关于如何实现这一目标有什么想法吗?

I am using the gem metasearch to provide some sorting features. The page is defaulting to a sort of created_at ASC, but I want it to be created_at DESC, but I can't explicitly state that because it will override MetaSearch's sort features.

def index
  @search = Photo.search(params[:search])
end

Any thoughts on how to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦醒灬来后我 2024-12-16 03:03:52

我遇到了同样的问题,最终在控制器中这样做,

search = {"meta_sort" => "created_at.desc"}.merge(params[:search] || {})
@search = Photo.search(search)

默认排序顺序是在 DESC 处创建的,但如果在参数中收到新的排序顺序,它将被覆盖。似乎对我有用。

I had the same problem and ended up doing like this in the controller

search = {"meta_sort" => "created_at.desc"}.merge(params[:search] || {})
@search = Photo.search(search)

Default sort order is created_at DESC, but it will be overwritten if a new sort order is received in the params. Seems to work for me.

千と千尋 2024-12-16 03:03:52

尝试这种方法。它对我有用:

def index
  @search = Photo.search(params[:search])
  @photos = @search.order("created_at desc")
end

Try this approach. It works for me:

def index
  @search = Photo.search(params[:search])
  @photos = @search.order("created_at desc")
end
浸婚纱 2024-12-16 03:03:52

@search = Photo.search(params[:search])

@search.meta_sort = 'your_column.desc'

@search = Photo.search(params[:search])

@search.meta_sort = 'your_column.desc'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文