2

我在过滤或不解析 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

4

2 回答 2

1

您是否将survey_entry 作为URL 参数传递?

SO 条目指向查询参数与后参数的问题,可以解释您当前的行为。

于 2012-10-13T18:21:24.583 回答
0

好吧,我只想说我真的很愚蠢。我会把它归咎于天气不好。感谢史蒂夫的帮助,我现在会羞愧地爬起来:)

于 2012-10-16T17:11:39.930 回答