【问题标题】:Scope with an array of items in Rails 4Rails 4 中包含一系列项目的范围
【发布时间】:2023-04-05 15:59:01
【问题描述】:

我正在尝试创建一个多选过滤器来列出供应商提供的产品。我的 vendor_offering 模型中有一个范围

scope :by_vendor, -> (vendor_id) {where vendor_id: vendor_id}

如何获得范围以允许 [1,2,3] 之类的项目数组并返回供应商 1,2,3 可用的项目?

【问题讨论】:

  • 你的代码应该可以工作..有什么问题?
  • 当我运行 localhost/vendor_offerings?vendor=1,2 时,它只返回供应商 1,而不是 1 和 2
  • 在参数和控制器中尝试 vendor[]=1,2
  • @Legendary 我会把它放在哪里?在我的控制器中,我有:filtering_params(params).each do |key, value|如果 value.present?结束
  • @NickDelaney 现在试试 params[:vendor].split(',').map{ |n| n.to_i }

标签: ruby-on-rails ruby-on-rails-4 scope


【解决方案1】:
params[:vendor].split(',').map{ |n| n.to_i }

它给了你需要的带有 id 的数组。

【讨论】:

    猜你喜欢
    • 2014-11-27
    • 1970-01-01
    • 2011-02-27
    • 2016-07-11
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    相关资源
    最近更新 更多