2011-07-15 27 views
0

在使用form_remote_tag(選項= {},&塊)在form_remote_tag如何替換參數Form.serialize(this)與Form.serialize('test_form)?

form_remote_tag :html => { :action => url_for(:controller => "some", :action => "place") } 
Generates: 
<form action="/some/place" method="post" onsubmit="new Ajax.Request('', 
{asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;"> 

我想在更改參數 「新的Ajax.Request(...」 這樣的代碼Form.serialize( 「test_form」),以便所生成的代碼是一樣

<form action="/some/place" method="post" onsubmit="new Ajax.Request('', 
{asynchronous:true, evalScripts:true, parameters:Form.serialize(test_form)}); return false;"> 

有沒有辦法通過任何選項可以更改或是否有更好的方式來處理呢?

回答

0
<% options = {:url => "/some/place", :with =>"Form.serialize('test_form')" }%> 
<% form_remote_tag :html => { :onsubmit => #{remote_function(options)}; return false"} 

這可以達到目的,因爲傳遞給html的選項會附加到遠程函數調用中,並且返回false將確保它過於由rails生成的默認值。

的下面。將樣品形式generatd

< form onsubmit="new Ajax.Request('/some/place', {asynchronous:true, evalScripts:true, parameters:Form.serialize('test_form'))}); return false; new Ajax.Request('',{asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;> 
相關問題