I. *_*han 6 ruby-on-rails rspec-rails ruby-on-rails-5
将应用程序从 Rails 4 转换为 Rails 5。一切都很顺利,尽管这条线似乎引起了问题。在 Rails 4 中,它是:
get :show, token: user.token, email: user.email
Run Code Online (Sandbox Code Playgroud)
对于 Rails 5,语法是:
get :show, params: { token: user.token, email: user.email }, format: :json
Run Code Online (Sandbox Code Playgroud)
这种情况下的问题user.token是nil。在 Rails 4 下,控制器接收如下参数:
{"token"=>nil, "email"=>"johndoe1@...", "action"=>"show"}
Run Code Online (Sandbox Code Playgroud)
对于 Rails 5,现在一些测试失败,因为token收到的消息如下:
{"token"=>"", "email"=>"johndoe1@...", "action"=>"show"}
Run Code Online (Sandbox Code Playgroud)
我怎样才能让 Rails 5 尊重它null而不是空字符串?
我不知道这是否会影响get规范之外的内容,但我找不到任何解决方案。我尝试过as: :json,以及format: :json,甚至to_json,什么也没有。
谢谢
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |