我正在测试一个接收可选参数的模型,而Rspec给我一个错误:
no implicit conversion of Symbol into Integer
我的路线:
get "classification/teams(/:team_id)" => "classifications#teams"
我的模特:
class Classification
def self.teams(params = [])
team_id = params[:team_id] unless params[:team_id].nil?
...
我的测试:
it 'returns the classification' do
expect(Classification.teams).to be_true
end
我的API运行良好,但我需要实施一些测试,并且我收到此错误。 如果我为params [' team_id']更改了params [:team_id],则会发生错误,但是:没有将String隐式转换为Integer。
答案 0 :(得分:3)
你的问题在于params的默认值,它应该是hash,而不是数组:
def self.teams(params = {})