2

在我的控制器的 rspec 测试中,响应的主体始终是 ActiveDispatch::Response 实例的字符串表示形式。

=> #<ActionController::TestResponse:0x00000007863010
 ...
 @body=["#<ActionDispatch::Response:0x00000007530d70>"],...

有问题的控制器规格:

it 'should not allow invalid email' do
     json = { :format => 'json', :patron_profile => { :email =>   'bogusemail.com', :password => 'password' } }
     post :create, json
     response.status.should eq(302)
     response.body.to_json.should be_json_eql(%({ 'error' : 'error message'}))
end

什么可能导致response.body上面显示的 ActionDispatch 字符串?

4

1 回答 1

2

Devise的 Github 帐户上的问题2074似乎是导致此问题的原因。

截至 2012 年 11 月 4 日,解决方法是在 Gemfile 中使用 Devise 的 git master 分支。

于 2012-11-06T18:11:54.083 回答