Ruby on rails 在url末尾传递多个参数时,如何获取特定数据?
我正在使用我的应用程序的rails 4.2 下面是my Descriptions控制器的索引操作Ruby on rails 在url末尾传递多个参数时,如何获取特定数据?,ruby-on-rails,ruby,json,ruby-on-rails-4,Ruby On Rails,Ruby,Json,Ruby On Rails 4,我正在使用我的应用程序的rails 4.2 下面是my Descriptions控制器的索引操作 def index @descriptions = Description.all if name = params[:name] description = @descriptions.where(name: name) render json: description end end 当我输入到浏览器时。 我可以得到一个JSON格式的名称属性为“LA”的数据。 如下
def index
@descriptions = Description.all
if name = params[:name]
description = @descriptions.where(name: name)
render json: description
end
end
当我输入到浏览器时。
我可以得到一个JSON格式的名称属性为“LA”的数据。
如下图所示
[{"id":140,"name":"LA","value":"Lakers","api_name_id":113,"created_at":"2015-06-04T17:11:18.649Z","updated_at":"2015-06-04T17:11:18.649Z"}]
但是,如果我在url的末尾传递两个参数
http://localhost:3000/descriptions?name=LA&name=123
我只能以JSON格式获取名称属性为“123”的数据
[{"id":143,"name":"123","value":"456","api_name_id":114,"created_at":"2015-06-04T17:20:18.703Z","updated_at":"2015-06-04T17:20:18.703Z"}]
是否有任何方法可以获取名称属性为“LA”和“123”的所有数据?如下
[{"id":143,"name":"123","value":"456","api_name_id":114,"created_at":"2015-06-04T17:20:18.703Z","updated_at":"2015-06-04T17:20:18.703Z"},{"id":140,"name":"LA","value":"Lakers","api_name_id":113,"created_at":"2015-06-04T17:11:18.649Z","updated_at":"2015-06-04T17:11:18.649Z"}]
点击url作为:
http://localhost:3000/descriptions?name[]=LA&name[]=123
剩下的代码是完美的。但请记住其中
将在操作中执行SQL。查看此图,了解如何使用查询字符串传递类似数组的元素。也许您需要
unless params.empty?
description = {}
params.each do |key, value|
description.merge(@descriptions.where(name: value)) if key == name
end
end
如何可能?平均值是name=LA或name=123的所有数据。(这不是&&)XD如果我传递两个不同的属性怎么办?一个是“name”,另一个是“value”。比如@LateBloomer,这取决于您希望查询的方式。。。和或?如果或?如何实现?@LateBloomer@descriptions.where(“name=?或value=?”,params[:name],params[:value])
我真的很感激。有没有什么方法可以传递两个相同的属性?比如localhost:3000/descriptions?name=LA&name=NY&value=456&value=789