2009-05-11 16 views
1

PrototypeのAjaxは自動的にGETまたはPOST変数として送信されるパラメータ(prototype doc)のハッシュ配列で 'parameters'というパラメータを受け取りますが、Rails button_to_remoteメソッドを使用してその配列に項目を追加する方法を見つけることができませんでした。リンク/ button_to_remoteコールで余分なパラメータを送信する方法は?

私はちょうどメソッドに送られたURLにパラメータを追加することができましたが、それはハッキングしていると感じました..そこには良い解決策がありますか?

答えて

3

私は実際に解決策を見つけました!あなたは使用して機能にパラメータを渡すことができます。このようなオプションで:と同じように、URL形式でキーと値のペアを返すべきであるJavaScript式である:

<%=button_to_remote "+3", {:url =>task_path(@project, @story, task), :with=>"'actual=3'"}%> 

トリックはの値がということです"key = value"そのため、上記の値の周りに余分な引用符があります。

機能も必要な場合は、ページから情報を引き出すために使用することができます

:with=>"getValuesForPostbackFunction()" 

フォームが送信される前に、関数が評価されます。

0

非表示の入力フィールドを、button_to_remoteを呼び出すフォームに追加します。次のアクションにパラメータを送信するためにbutton_to_remote唯一の方法を使用して

<input type="hidden" name="name" value="myValue"> 
+0

返信ありがとうございますが、フォームがないため入力タグをフォームに追加する方法はありません。 button_to_remoteはフォームなしのプロトタイプAjaxオブジェクトを作成します。 –

1

は、URIにそれらを入れています。

button_to_remoteは、link_to_remoteの機能的に等価なものとして意図されており、他のパラメータの追加方法もありません。

細かい制御が必要な場合は、完全なフォームを作成してアクションに提出する必要があります。

+0

あなたはそうです。しかし、これらのパラメータを追加する方法がないのはばかげているようです。 –

+0

私は実際に余分なパラメータを渡す方法を見つけました。私の質問に私の答えをチェックしてください! –

関連する問題