0
我想在Ruby on Rails教程一书中做第11章,当我尝试执行代码清单11.33中的集成测试时,我得到两个错误, param丢失或者值为空:user“。它然后在用户控制器定义中列出两行,第一行是对user_params的引用,第二行是对控制器中的创建操作的引用。我查看了一些其他问题,并根据我尝试删除user_params定义中的require(:user)部分的答案,这导致集成测试从出现两个错误转向出现失败。但我不想从user_params定义中删除require(:user)。有谁知道我为什么得到这个错误?这里是正在创建错误的测试部分:Ruby on Rails教程 - 第11章 - 获取集成测试示例的错误
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: "[email protected]",
password: "password",
password_confirmation: "password" } }
end
,这里是除了本次测试
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end