如何在网址中传递多个值?

时间:2017-02-03 11:30:11

标签: ruby-on-rails ruby

我的新闻模式:
has_one :category

分类模型:
belongs_to :news

范围如下:

scope :category, -> (category_name) { joins(:category).where('categories.name = ?', category_name)} 

新闻控制器的索引操作:

def index
  news = News.filter(params.slice(:tag, :category, :days_ago))
  render json: news
 end

如何在网址中传递多个类别以显示具有这些类别的新闻? 像这个/?category=lorem,ipsum,dolor或类似的

1 个答案:

答案 0 :(得分:1)

params传递(这里重要的是{名称}末尾的[]

params: { 'categories[]': ['lorem', 'ipsum', 'dolor'] }

URL:

?categories[]= lorem&categories[]=ipsum&categories[]=dolor

其中params看起来像

"categories"=>['lorem', 'ipsum', 'dolor']