我测试了一个过滤姓氏的索引,测试正在通过:
it "finds transactions with a given customer last_name" do
customer = create :customer, last_name: "Merp"
t2 = create :transaction, location_id: @location.id
t1 = create :transaction, location_id: @location.id, customer_id: customer.id
get :index, last_name: "merp"
assigns(:transactions).should eq [t1]
end
以下是此问题的控制器的重要部分:
# => @filter = {:customers=>{:last_name=>"merp"}}
# => @joins = [:customer]
@transactions = Transaction
.joins(@joins)
.where(@filter)
但是当我在开发环境中手动进行测试时,它只返回区分大小写的匹配项(注意测试不是大小写匹配)。
为什么我在使用非大小写敏感的搜索时获得通过测试,而在我实际使用该页面时对非大小写敏感的搜索执行操作失败?