2014-10-10 34 views
0

我需要使用關聯時使用Ransack sort_link方法對錶中的數據進行排序。 我:關聯的Rackack排序不起作用

模型

class Deal < ActiveRecord::Base 
has_many :tasks 
... 
end 

class Task < ActiveRecord::Base 
belongs_to :deal 
... 
end 

控制器

... 
@search = Deal.where(assigned_to: @user_id).where.not(stage: [6, 7]).search(params[:q]) 
@deals = @search.result.joins(:tasks).where(assigned_to: @user_id).where.not(stage: [6, 7]).uniq 
... 

_DEALS.HTML.ERB

... 
<th style="width: 15%" class="text-center"><%= sort_link @search, 'tasks.due', "Задача", {}, { :remote => true, :method => :get } %></th> 
... 

結果是,排序不工作,但我們必須從服務器的積極信號:

服務器記錄

Processing by DealsController#index as JS 
Parameters: {"q"=>{"s"=>"tasks.due desc"}} 
Rendered deals/_deals.html.erb (21.0ms) 
Rendered deals/index.js.erb (24.8ms) 
Completed 200 OK in 39ms (Views: 24.0ms | ActiveRecord: 9.7ms) 

看過很多洗劫有關的問題,包括Using Ransack to sort attributes for parent of parentRails sorting associations with Ransack 但他們到目前爲止沒有答覆。

我懷疑我從https://github.com/activerecord-hackery/ransack做錯了什麼。有幾個聰明的猜測,但不幸的是他們沒有工作。

THX。

回答

1

基於github issue,嘗試sort_link @search, 'tasks_due'...

請注意,這是assocation_name,不table_name.name在文檔

+0

** THANK YOU ** – Mirko 2017-09-12 23:00:50