Ruby on rails 强参数引发';堆栈级别太深';试验中
我正在将rails 3.2应用程序从默认的质量分配保护移动到强参数。我在application.rb中禁用了*whitelist_attributes*,并在模型中添加了必需的include语句 在我的控制器中,我允许在创建模型时使用正确的属性Ruby on rails 强参数引发';堆栈级别太深';试验中,ruby-on-rails,strong-parameters,Ruby On Rails,Strong Parameters,我正在将rails 3.2应用程序从默认的质量分配保护移动到强参数。我在application.rb中禁用了*whitelist_attributes*,并在模型中添加了必需的include语句 在我的控制器中,我允许在创建模型时使用正确的属性 def create @user = User.new user_params ... end protected def user_params params.require(:user).permit(:email, :name, :l
def create
@user = User.new user_params
...
end
protected
def user_params
params.require(:user).permit(:email, :name, :locale, :password, :password_confirmation)
end
这在开发和生产中效果良好。但由于某种原因,在我的测试环境中,它会中断。我对create操作使用了一个函数测试,该操作使用散列进行简单的post。在上面的代码片段的第二行,我发现“堆栈级别太深”
1) Error:
test_should_get_create(UsersControllerTest):
SystemStackError: stack level too deep
/home/martijn/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-3.2.15/lib/active_support/notifications/instrumenter.rb:23
这不仅仅发生在我的控制器上。当我在模型或测试代码中调用诸如update_属性之类的函数时,也会发生这种情况。但在开发中,它运行良好
当我删除include-ActiveModel::禁止属性保护时,它也可以工作
有什么想法吗