如何在Ruby On Rails中发布XHR操作之前更改请求参数?
问题描述:
我有一张表格,旁边有复选框。然后我有一个submit_to_remote
这将把选中的人员传递到控制器进行处理。目前,它通行证检查人的形式:如何在Ruby On Rails中发布XHR操作之前更改请求参数?
checkbox_name => checkbox_value
其中checkbox_value
是person_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然后将接受修改后的散列作为参数。
哦,如果你想要这个表单的另一个目标,只需指定它!这是第一个参数,如果我记得正确。
我该怎么做?我在rails上使用了ruby的submit_to_remote帮助器,我想在用户按下submit之后但在请求发出之前执行此操作。 – Tony 2009-05-17 18:28:37