Ruby on rails 如何为控制器方法运行minitest? post_控制器文件

Ruby on rails 如何为控制器方法运行minitest? post_控制器文件,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,Devise,我正在获取ActionController::ParameterMissing:param缺失或值为空:post,而在我的控制器类中,我确实有 params.require(:post).permit(:name, :value, :user_id) 我的.yml文件中也有所有参数,即 one: name: 2 value: 3 看起来您需要在尝试索引操作之前登录。您还测试了错误的实例变量名。您正在测试@post,但是您已经在控制器中定义了@post。请尝试以下测试: test

我正在获取
ActionController::ParameterMissing:param缺失或值为空:post
,而在我的控制器类中,我确实有

 params.require(:post).permit(:name, :value, :user_id)
我的
.yml
文件中也有所有参数,即

 one:
  name: 2
  value: 3

看起来您需要在尝试索引操作之前登录。您还测试了错误的实例变量名。您正在测试@post,但是您已经在控制器中定义了@post。请尝试以下测试:

test 'should get index' do
  sign_in @user
  get :index
  assert_response :success
  assert_not_nil assigns(:post)
end

看起来您需要在尝试索引操作之前登录。您还测试了错误的实例变量名。您正在测试@post,但是您已经在控制器中定义了@post。请尝试以下测试:

test 'should get index' do
  sign_in @user
  get :index
  assert_response :success
  assert_not_nil assigns(:post)
end

谢谢你的回答。请查看
Edit-1
部分我认为您需要在许可证中添加:行!参数实际上已经存在了,这是一个输入错误,因为我在那里有太多的参数。只是想在这里粘贴一些参数。为什么
params.require(:simulation)
而不是
params.require(:post)
?另一个输入错误?错误是说
params[:post]
为空,所以请仔细检查您是否实际使用了
post:create,post:{name:@p.name,value:@p.value}
。谢谢您的回答。请查看
Edit-1
部分我认为您需要在许可证中添加:行!参数实际上已经存在了,这是一个输入错误,因为我在那里有太多的参数。只是想在这里粘贴一些参数。为什么
params.require(:simulation)
而不是
params.require(:post)
?另一个输入错误?错误是说
params[:post]
为空,因此请仔细检查您是否实际使用了
post:create,post:{name:@p.name,value:@p.value}
 one:
  name: 2
  value: 3
test 'should get index' do
  sign_in @user
  get :index
  assert_response :success
  assert_not_nil assigns(:post)
end