我能够在rails 4中批量分配变量

时间:2015-04-21 04:57:41

标签: ruby-on-rails-4

我所了解的是,如果未在

中明确声明变量

params.require(:emergency).permit(...)

变量不能被大量分配但是当我运行我的测试时它会通过,当我进入Rails控制台并输入

e = Emergency.new(id:10); 
e.save, =>true returns

对我来说真的很奇怪,我的rails应用程序中的设置是否有问题?

def create
    @emergency = Emergency.new(emergency_params)
end

def emergency_params
    params.require(:emergency).permit(:fire_severity,:police_severity,:medical_severity,:code)

end


test 'POST /emergencies/ cannot set id' do
    post '/emergencies', emergency: { id: 1, fire_severity: 1, police_severity: 2, medical_severity: 3 }

    assert_equal 201, response.status

end

1 个答案:

答案 0 :(得分:1)

http://api.rubyonrails.org/classes/ActionController/Parameters.html -

如果您希望在此方案中引发异常,请确保ActionController::Parameters.action_on_unpermitted_parameters设置为:raise