基于两个属性的Ransack搜索过滤

时间:2014-03-10 20:26:17

标签: search ruby-on-rails-4 ransack

我目前正在使用Ransack并尝试显示来自两个不同模型的记录以进行搜索。

就我而言,它是供应商和用户。两个都有自己的活动。

我尝试使用以下方法将两个结果合并到一个表中:

@search = current_user.campaigns + current_user.vendor.campaigns.where.not(:user_id =>current_user.id).search(params[:q])

这将显示表格但是当我激活Ransack搜索部分时,我收到错误

no implicit conversion of Ransack::Search into Array

使用Ransack能否达到预期效果有不同的方法吗?

我也尝试过:

 @search = Campaign.search(:vendor_location_id => current_user.vendor.id) but I need to also make sure the current_users campaigns show up as well, not just the vendors

TIA

1 个答案:

答案 0 :(得分:0)

使用此公式解决:

      @search = Campaign.where('(user_id LIKE ?) OR (vendor_id LIKE ?)',current_user.id, current_user.vendor.id).order(:name).search(params[:q])