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