इसके बारे में Github पर एक ज्ञात समस्या है।
इस टिप्पणी के अनुसार आप structurally_incompatible_values_for_or
को ओवरराइड करना चाह सकते हैं समस्या को दूर करने के लिए:
def structurally_incompatible_values_for_or(other)
Relation::SINGLE_VALUE_METHODS.reject { |m| send("#{m}_value") == other.send("#{m}_value") } +
(Relation::MULTI_VALUE_METHODS - [:eager_load, :references, :extending]).reject { |m| send("#{m}_values") == other.send("#{m}_values") } +
(Relation::CLAUSE_METHODS - [:having, :where]).reject { |m| send("#{m}_clause") == other.send("#{m}_clause") }
end
साथ ही हमेशा SQL का उपयोग करने का विकल्प होता है:
@items
.joins(:orders)
.where("orders.user_id = ? OR items.available = true", current_user.id)