使用 Ransack 的多重多态关联搜索,可能吗?
Multiple polymorphic association search using Ransack, is it possible?
我有classInvoice
那个belongs_to
Invoiceable
,一个多态的class。 Invoice 的 Invoiceable
可以是 Subscription
或 Purchase
.
我需要能够按发票的 Subscription
或 Purchase
的状态进行搜索。
我正在尝试以下操作但没有成功:
<%= 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
我有classInvoice
那个belongs_to
Invoiceable
,一个多态的class。 Invoice 的 Invoiceable
可以是 Subscription
或 Purchase
.
我需要能够按发票的 Subscription
或 Purchase
的状态进行搜索。
我正在尝试以下操作但没有成功:
<%= 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