1

在 app/views/alerts/_form.html.erb 我有表单(我设置了@alert = Alert.new)

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

这工作正常,当我点击提交时,我得到

由 AlertsController#create as JS 处理

我最终进入 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 回答