Ruby:如果相同的参数传递两次,第二个参数值为空,则索引不会返回第二个参数的结果

时间:2017-11-14 17:40:06

标签: ruby ruby-on-rails-4

我在控制器中有以下索引方法

def index
  if params.key?(:item)
    @items = Item.get_items.where(item: params[:item])
  else
    @items = Item.get_items
end

型号:

Class Item < ApplicationRecord
  has_many :item_resources, dependent: :destroy
  has_many :resources, through: :item_resources

  def self.get_items
    includes(item_resources: {resource: :item_groups})
      .order('item_resources.area ASC')
  end
end

查看:

index.json.jbuilder

json.array! @items, partial: ‘items/item’, as: :item
_item.json.jbuilder

_item.json.jbuilder

json.something1 item.something1
json.item_layout do
  json.template_key item.layout
  json.merge! item.layout_config if item.layout_config.present?
end
json.something (item.item_details) do |item_detail|
  json.partial! ‘item_details/item_detail’, item_detail: item_detail
end

我正在使用邮递员进行如下测试

http://localhost:3000/items?item=some_item
http://localhost:3000/items?item=some_item&item=other_item

以上工作正常

http://localhost:3000/items?item=some_item&item=

当我尝试以第二个参数值空白两次传递项目时,它不会返回第二个参数的结果,但会返回第一个参数的结果。

它使用IN ('some_item', '')

生成sql

0 个答案:

没有答案