目前我正在将rails 3项目升级到rails 4. rails 3项目是使用prototype和jquery framworks开发的。在转移到rails4后,我们删除了原型js框架。
在rails 3中使用这样的原型更新一些动作,
在客户端,
的jQuery('#形式')提交();
在控制器中,
render :update do |page|
page.replace_html "elem_id", :partial => @something
end
在rails 4中我们使用了prototypejs,所以我们修改了这样的AJAX调用
在客户端,
的jQuery('#形式')提交();
在控制器中,
respond_to do |format|
format.js
end
并且在视图中,我们创建了一个js.erb
文件。但这不是工作财产。我收到这样的错误
ActionController::UnknownFormat (ActionController::UnknownFormat)
但是记录在后端正确保存。然后我用Google搜索并得到this link。但没有结果。
所以,如果我尝试这样做,而不是jQuery('#form').submit();
,
jQuery.ajax({
data: data: jQuery('#my_form').serialize(),
type: "POST",
url: jQuery('#my_form').attr("action"),
success: function(data)
{
alert("success");
}
});
它正常工作。
为什么jQuery('#form').submit();
不适合我?有没有备用的。因为jQuery('#form').submit();
在很多地方使用过,我不想用jQuery.ajax({...})
替换那些<{1}}