【发布时间】:2016-12-02 19:19:36
【问题描述】:
我刚刚升级到 Rails 5。
在为@shift 提交表单后,我尝试调用我的控制器:
@position = Position.find params[:shift][:position_id]
我收到“没有将符号隐式转换为整数”错误。
当我检查参数时:
<ActionController::Parameters {"shift"=>"#<ActionController::Parameters:0x007fecd4e83208>", "sms"=>"true", "controller"=>"admin/overtime", "action"=>"confirm"} permitted: true>
如果我打电话给:params.to_h,我会得到:
{"shift"=>"#<ActionController::Parameters:0x007fecd4e83208>", "sms"=>"true", "controller"=>"admin/overtime", "action"=>"confirm"}
shift 参数是"#<ActionController::Parameters:0x007fecd4e83208>"...一个字符串!?
如果我这样做:
params.require(:shift).permit(:position_id)
我明白了:
NoMethodError: undefined method `permit' for "#<ActionController::Parameters:0x007fecd4e83208>":String
如何检索这些值?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5