컨트롤러에 대한 테스트를 작성하고 있습니다. 그들은 매우 간단하지만이 오류는 계속 나타납니다. 이것은 내 컨트롤러Mongoid에 대해이 RSpec 오류를 수정하는 방법은 무엇입니까? "심볼을 정수로 변환 할 수 없습니다"
def show
id=params[:id]
@user=User.find(:first,id)
end
내 테스트
before(:each) do
@user = Fabricate(:user)
sign_in @user
end
...
it "should be successful" do
get "show", :id => @user
response.should be_success
end
그리고 오류 메시지입니다
1) UsersController GET 'show' for the logged in user should be successful
Failure/Error: get "show", :id => @user
TypeError:
can't convert Symbol into Integer
# ./app/controllers/users_controller.rb:6:in `show'
# ./spec/controllers/users_controller_spec.rb:31:in `block (4 levels) in <top (required)>'
'BSON :: InvalidDocument : User 클래스의 객체를 BSON으로 직렬화 할 수 없습니다.'라는 메시지가 나타납니다. Mongoid를 사용하고 있지만 API는 ActiveRecord와 거의 같습니다. – picardo
사용 : id => @ user.to_param – Roman