2014-12-27 78 views
0

我正在使用Rails 4与Ransack建立简单的搜索和排序功能。 我的意图是使用POST请求而不是GET(由于限制)。排序按钮Ransack

所以我会有4个按钮。点击按钮排序ASC,然后再点击排序DESC。这几乎与http://railscasts.com/episodes/370-ransack?view=asciicast第一个例子相同。

到目前为止,我有这样的。

控制器:

@search = Advertisement.search(params[:q]) 
    @ads = @search.result 
    @search.sorts = ['height asc','age asc','price asc','votes asc'] if @search.sorts.empty? 
     respond_with(@advertisements) 

鉴于:

Sort: 
    <%= f.sort_fields do |s| %> 
    <%= s.sort_select %> 
    <% end %> 

它看起来像这样:

enter image description here

而是在集合中选择每次ASC或DESC我想用一个按钮来做。

我在谷歌搜索相似的问题搜索,但没有人是像我一样确切。 有没有可能性这样做?使用POST请求不GET与Ransack排序?

或者我必须切换回基于GET请求的排序,对用户有限制吗?

在此先感谢!

回答

0

我还未使用前洗劫,但这是办法,我会去:

  1. 创建一个主排序按钮,在正常的HTML,这样的事情:

<select id="master_sort"> 
 
    <option class="asc">ASC</option> 
 
    <option class="desc">DESC</option> 
 
</select>

  • 绑定”您选择的代码与jQuery的行为。当用户更改该值时,它将更改级联中的所有子分类按钮(使用简单的jQuery功能)

  • 隐藏默认排序使用CSS进行选择。