【发布时间】:2017-11-15 00:53:08
【问题描述】:
试图让这个通过一段时间,对 Rspec 不太熟悉,尝试了几个答案,但还没有运气,我的控制器上需要这两个参数,如下所示:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
redirect_back fallback_location: new_user_path
else
render :new
end
end
private
def user_params
params.require(:user).permit(:username, :password)
end
end
这是给我一个问题的 rspec 测试:
describe "GET #create" do
it "returns http success" do
get :create
expect(response).to have_http_status(:success)
end
end
这是我得到的错误:
1) UsersController GET #create returns http success
Failure/Error: params.require(:user).permit(:username, :password)
ActionController::ParameterMissing:
param is missing or the value is empty: user
我现在正在查看 rspec 文档,但我们将不胜感激。
【问题讨论】:
-
您的参数格式应为
{ :user => { :username => "", :password => "" } } -
谢谢Nandu,我到底应该在哪里添加参数?是在get方法之后吗?
标签: ruby-on-rails ruby ruby-on-rails-3 rspec rspec-rails