Ransack - 深层关联排序链接不起作用

时间:2016-08-25 07:33:17

标签: ruby-on-rails ruby sorting ransack

我正在尝试使用Ransack对列进行排序,但没有运气。

模型应用

class Application < ActiveRecord::Base
  has_many :orders
end

模型订单

class Order < ActiveRecord::Base
  belongs_to :executor_group, class_name: "Group"
end

模型组

class Group < ActiveRecord::Base
  has_many :orders, foreign_key: "executor_group_id"
end

拥有这些模型,我试图像这样排序(来自应用程序模型/控制器):

sort_link(search, :orders_executor_user_last_name, translation)

控制器搜索操作:

@search = Application.includes(:group).search(search_params)
@applications = @search.result.paginate(pagination_params)

生成的SQL:

SELECT `applications`.* FROM `applications` LEFT OUTER JOIN `orders` ON `orders`.`application_id` = `applications`.`id` LEFT OUTER JOIN `groups` ON `groups`.`id` = `orders`.`executor_group_id` ORDER BY `groups`.`name` DESC LIMIT 20 OFFSET 0

所以,我想按执行程序组名对应用程序进行排序,但执行程序组属于命令,属于应用程序。 申请 - &gt;订单 - &gt;执行人组(集团)。

任何人都可以帮我吗?是否有可能按这种深层关系排序? 感谢。

0 个答案:

没有答案