Rails没有提交表单值

时间:2011-06-30 16:22:21

标签: ruby-on-rails prototype

使用rails / prototype视图helpers / rjs的一个相当古老的应用程序。我们有一个相当反复出现的问题(每周大约发生六次,但通常在同一页面上),表格参数没有提交。因此,从控制器的角度来看,params hash只包含路由器能够从路由中获取的值。看看表格本身,它们往往是相当基本的。

一个共同点是他们使用remote_form_for,它实际上有一些表单禁用在原型启动ajax后运行的代码。在一些地方,它更明确,像这样(使用古老的语法,这开始作为rails 1应用程序):

remote_form_for :pallet_move, 
  :row_id => 'new_pallet_move', 
  :html => {:id => 'new_pallet_move_form'}, 
  :method => :post, 
  :after => "$('new_pallet_move_form').disable();',
  :url => create_many_pallet_moves_path do |f|

在控制器中,它正在做这样的事情

PalletMove.new params[:pallet_move].merge(:move => move)

现在,这段代码在99%的情况下都有效。但根据hoptoad,在上个月大约十次,我们得到NoMethodError: undefined method 'merge' for nil:NilClass作为参数{"move_id"=>"908097", "action"=>"create_many", "controller"=>"pallet_moves"}

只是想看看人们之前是否已经看过这个,或者有任何调查的想法,因为我有点想法。

0 个答案:

没有答案