首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails教程-第11章-获取集成测试示例中的错误

Rails教程-第11章-获取集成测试示例中的错误
EN

Stack Overflow用户
提问于 2017-10-14 02:36:25
回答 1查看 78关注 0票数 0

我试图在Rails教程中执行第11章,当我尝试进行清单11.33中的集成测试时,我会得到两个错误,即"param缺失或值为空: user“。然后它在用户控制器定义中列出两行,第一行是引用user_params,第二行是引用控制器中的create操作。我查看了其他一些问题,并根据答案删除了user_params定义中的require(:user)部分,这导致集成测试从有两个错误转到出现故障。但是我不想从user_params定义中删除require(:user)。有人知道我为什么会犯这个错误吗?下面是正在创建错误的测试部分:

代码语言:javascript
复制
test "valid signup information with account activation" do
get signup_path

assert_difference 'User.count', 1 do
  post users_path, params: { user: { name: "Example User",
      email: "user@example.com",
      password: "password",
      password_confirmation: "password" } }
end

下面是user_params的定义,除了这个测试外,它还能工作

代码语言:javascript
复制
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-14 13:31:11

我发现了问题。我将通过safari在线阅读的教程书的版本与免费在线版本进行了比较,发现在该版本中,它们使用的是:

代码语言:javascript
复制
post users_path, user: { name: "Example User",

当params:{}已从用户周围移除时:{}此更改使错误消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46740293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档