我最近将一个Rails 2.x应用程序更新为Rails 3(目前为3.0.20,但最终目标是3.2.x)。我注意到一个远程表单停止正常工作。它发送请求并创建新记录,但要告诉需要重新加载整页。
它的定义绝对没有什么特别之处:
form_for(@comment, :remote => true, :html => html_options) do |f|
<%= f.label :username, 'Name/nickname' %>
<div class="text">
<%= f.text_field :username, :maxlength => '60' %>
</div>
<%= f.label :email, 'E-mail' %>
<div class="text">
<%= f.text_field :email, :maxlength => '120' %>
</div>
<%= f.label :content, 'Content' %>
<div class="textinput-longer">
<%= f.text_area :content %>
</div>
<%= f.submit 'Add Comment', :value => 'Add comment' %>
<% end %>
还有一个绑定到窗体的事件
$('form#comment').bind({
submit: function() {
// disable inputs and change CSS
},
ajaxComplete: function(event, response, request) {
// insert comment
new Comment(response, this);
}
});
我想某些特定于 Rails 2.x 的脚本可能丢失了?
试试这个:
remote_form_for(@comment, :html => html_options) do |f|
或
form_for(@comment,{ :remote => true, :html => html_options}) do |f|