如何在Ruby On Rails中发布XHR操作之前更改请求参数?

问题描述:

我有一张表格,旁边有复选框。然后我有一个submit_to_remote这将把选中的人员传递到控制器进行处理。目前,它通行证检查人的形式:如何在Ruby On Rails中发布XHR操作之前更改请求参数?

checkbox_name => checkbox_value 

其中checkbox_valueperson_id。这来自使用parameters:Form.serialize(this.form) 来构建参数的原型。

然而,由于submit_to_remote按钮为“禁用”按钮,我想,看起来像一个动作:

people/disable/person_id1,person_id2,person_id3 

这将禁用那些人,我觉得语法更API友好。

如何在使用submit_to_remote帮助程序中的选项提交Ajax Updater之前更改参数?

使用Form.serialize(true)以参数名称作为键获取散列。

你可以做任何你想要的散列,包括删除输入,改变它们的值,过滤它们等等。

Ajax.Updated然后将接受修改后的散列作为参数。

哦,如果你想要这个表单的另一个目标,只需指定它!这是第一个参数,如果我记得正确。

+0

我该怎么做?我在rails上使用了ruby的submit_to_remote帮助器,我想在用户按下submit之后但在请求发出之前执行此操作。 – Tony 2009-05-17 18:28:37