【发布时间】:2020-10-12 23:15:42
【问题描述】:
我正在使用 Rails 和 ransacker gem (2.3.2) 构建一个可按列名过滤的表。我想根据帐户电子邮件地址的第一个成员过滤帐户。模型和实例方法如下所示:
class Account
has_many :members
def first_member_email
members.order(created_at: :desc).first.email
end
end
class Member
belongs_to :account
end
我打算使用 Ransack 的“sort_link”根据账户的 first_member_email 实例方法进行排序。基于documentation,似乎使用ransacker 是要走的路。像这样的:
ransacker :first_member_email do |parent|
Arel.sql(something)
end
在视图中:
th=sort_link @q, :first_member_email, 'Created By'
但我无法让 Arel 工作。这里的查询是什么让这个工作,或者有没有使用 Arel 的另一种方法?
【问题讨论】:
标签: ruby-on-rails ransack arel