我在过滤或不解析 Rails 参数时遇到了一些麻烦。它在 WEBRick 上本地运行时工作正常,但一旦在 Heroku 上运行,它就会忽略一堆提交的表单参数(它们没有添加到 params[])。
我提交了表单,但它倒下了,因为它期望一个不存在的值。Airbrake 告诉我rack.request.form_hash是这样的:
{"utf8"=>"✓", "_method"=>"put", "authenticity_token"=>"8CZUmWc7qB1mWAbyn9NeGmygRVczdZCtI3CXwu0DUV4=", "survey_entry"=>{"瞳孔"=>{"id"=>"2784", "non_vrh"=>"f", "initials"=>"A", "surname"=>"ABC", "year_group_id"=>"5", "age_this_september_years"=>"", "age_this_september_months"=>" ", "current_reading_level"=>""}, "questionnaire"=>{"answer"=>{"21"=>"6", "22"=>"2", "39"=>"", " 40"=>""}}}}
但它也告诉我action_dispatch.request.parameters是这样的:
{"utf8"=>"✓", "_method"=>"put", "authenticity_token"=>"8CZUmWc7qB1mWAbyn9NeGmygRVczdZCtI3CXwu0DUV4=", "survey_entry"=>"" , "action"=>"update", "controller"= >"survey_entries", "id"=>"7"}
所以这无疑是我正在做的一些愚蠢和愚蠢的事情,但它让我现在感到困惑:/
更新
奇怪的是,从同一页面(但字段略有不同)提交的表单可以正常工作:
utf8:✓</p>
_方法:放
真实性令牌:HLCXURx1BosuXlVYwBuOP+DxJwdY3SKwilx1CJDuwT8=
调查入口[瞳孔][id]:2485
调查入口[瞳孔][non_vrh]:f
调查条目[瞳孔][姓名缩写]:AAS
调查条目[瞳孔][姓氏]:ABC
调查条目[学生][年份组ID]:4
调查条目[瞳孔][出勤率_pct]:
调查入口[学生][阅读水平][地点]:12
调查入口[瞳孔][阅读水平][at_term1]:
调查入口[瞳孔][阅读水平][at_term2]:
调查条目[瞳孔][阅读水平][at_term3]:
调查条目[瞳孔][上一个进度]:
调查入口[瞳孔][target_rl_id]:
调查条目[瞳孔][english_first_language]:0
调查条目[瞳孔][english_first_language]:1
调查入口[瞳孔][护理订单]:0
调查入口[瞳孔][lac_funded]:0
调查入口[学生][免费用餐]:0
调查条目[瞳孔][选择原因 ID]:4
调查条目[瞳孔][其他选择原因]:
调查条目[问卷][答案[3]]:2
调查条目[问卷][答案[4]]:2
调查条目[问卷][答案[13]]:3
调查条目[问卷][答案[14]]:3
调查条目[问卷][答案[20]]:3