使用 Ransack 的多重多态关联搜索,可能吗?

Multiple polymorphic association search using Ransack, is it possible?

我有classInvoice那个belongs_toInvoiceable,一个多态的class。 Invoice 的 Invoiceable 可以是 SubscriptionPurchase.

我需要能够按发票的 SubscriptionPurchase 的状态进行搜索。

我正在尝试以下操作但没有成功:

<%= f.check_box :invoiceable_of_Subscription_or_Purchase_type_status_in, { multiple: true }, type[1], false %>

我尝试了不同的组合,例如:

<%= f.check_box :invoiceable_of_Subscription_type_or_invoiceable_of_Purchase_type_status_in, { multiple: true }, type[1], false %>

但我总是收到 Polymorphic associations do not support computing the class. 错误。

这可能吗? Ransack 文档仅解释了如何通过单个多态关联模型进行搜索。

您非常接近答案。

您需要为每个多态关联指定列名

使用以下组合:

<%= f.check_box :invoiceable_of_Subscription_type_status_or_invoiceable_of_Purchase_type_status_in, { multiple: true }, type[1], false %>

参考:https://github.com/activerecord-hackery/ransack/wiki/Polymorphic-searches