1

app / views / alerts / _form.html.erbにフォームがあります(@alert = Alert.newを設定しました)

<%= form_for( @alert, :remote => true ) do |f| %>
...

これは正常に機能し、[送信]をクリックすると取得します

AlertsController#createasJSによる処理

そして、最終的にapp / views / alerts/create.js.erbと入力します。

ただし、JQuery呼び出しを使用してフォームをレンダリングすると、:remote=>trueが忘れられているようです。

$("div.new_alert").html( "<%= escape_javascript( render( :partial => "alerts/form" ) ) %>" );

さて、送信をクリックすると、

AlertsController#createによるHTMLとしての処理

そして、format.htmlアクションが実行されます。

JQueryを介してフォームをレンダリングし、JSとして処理する方法を教えてください。

4

1 に答える 1

0

Rails 3.0 から 3.1 にアップグレードすると、この問題はなくなりました。3.0 で何が問題だったのかはわかりませんが、おそらく javascript_include_tag をいじっていたので、JQuery が部分的に壊れていた可能性があります。アップグレード時に javascript_include_tag をクリーンアップしたところ、問題はなくなりました。

于 2012-05-02T22:57:49.823 に答える