Tire gem을 테스트하기위한 구문을 이해하려고합니다.RSpec & Tire gem : Tire 테스트 :: 결과 :: 컬렉션
이 컨트롤러의 사양 (발판 템플릿에서 기본은) 실패
describe "GET index" do
it "assigns all reports as @reports" do
report = Report.create! valid_attributes
get :index, {}, valid_session
assigns(:reports).should eq([report])
end
end
이 배열 대신 타이어 결과를 수집을 기대 있도록 스펙을 작성하는 방법을
Failure/Error: assigns(:reports).should eq([report])
TypeError:
can't convert Tire::Results::Collection to Array (Tire::Results::Collection#to_ary gives Tire::Results::Collection)
때문에 활성 레코드 개체의? 아니면이 문제를 해결할 더 좋은 방법이 있습니까?
class ReportsController < ApplicationController
def index
@reports = Report.search(params)
end
...
하고 모델
FWIW-
는 :class Report < ActiveRecord::Base
include Tire::Model::Search
include Tire::Model::Callbacks
...
def self.search(params)
tire.search(load: true) do
query { string params[:query] } if params[:query].present?
end
end
...
<귀뚜라미 .....> – Meltemi