【发布时间】:2016-10-04 14:58:15
【问题描述】:
我收到此错误并使用 Rails 5。
NoMethodError(未定义方法
permit' for #<Array:0x007f51cf4dc948> app/controllers/traumas_controller.rb:99:intrauma_params' app/controllers/traumas_controller.rb:25:in `create_multiple'
控制器参数如下。
于 2016 年 10 月 4 日开始为 127.0.0.1 发布“/traumas/create_multiple” 20:09:36 +0530 TraumasController#create_multiple 作为 JS 处理
参数:{"utf8"=>"✓", "fields"=>[{"contusions"=>"1", "burns"=>"", "at_scene"=>"现场", "emergency_detail_id"=>"96", "trauma_region"=>"Head-Back"}], "commit"=>"Submit"}
我正在尝试在控制器中创建如下记录:
def create_multiple
trauma_params
params[:fields].each do |values|
u = Trauma.create(values)
end
end
def trauma_params
params.require(:fields).permit(:fields => [])
end
请帮我解决这个问题。
提前致谢。
基兰。
【问题讨论】:
-
我是否理解正确,您打算接受任何数组,包括 :fields 参数的空数组?我相信 .permit 不是执行输入验证的正确方法。如果删除 .permit 语句会发生什么?
标签: ruby-on-rails-5 nomethoderror