我正在使用Ruby on Rails 3.0.7,我正在从Prototype迁移到jQuery 1.6.1。
在我的应用程序中,我有很多使用remote
标记的输入表单,以便使用JavaScript提交数据:
# A form example in my application
<%= form_for(@user, :remote => true) do |f| %>
...
<% end %>
要解决此问题,请在我的app/views/application.html.erb
文件中尝试更改此代码:
<%= javascript_include_tag :defaults, 'jquery-1.6.1.min' %>
到此:
<%= javascript_include_tag 'jquery-1.6.1.min', 'application' %>
但是,remote
标记不再适用于我的表单(这是正常行为,因为RoR使用自定义Prototype帮助程序方法)。
是否有一种“ easy ”方式来处理使用不带Prototype的JavaScript的表单并避免remote
标记的上述问题?如果是这样,我该怎么做?
在这种情况下,我必须使用Prototype来“解决”“支持”这个问题,我可以在我的public/javascript
文件夹中“删除”“不加载”以下某些文件吗?
application.js
controls.js
dragdrop.js
effects.js
jquery-1.6.1.min.js
prototype.js
rails.js
答案 0 :(得分:1)
你需要告诉Rails使用jQuery。
将gem jquery-rails
添加到您的Gemfile中,然后运行rails g jquery:install
。
有关详细信息,请参阅the documentation。
答案 1 :(得分:0)
提交表单时,是否通过Ajax加载新页面或执行请求?使用Firefox + Firebug检查该调用是否真的是一个Ajax调用。
其次,您需要检查您的布局是否正确加载了jQuery和jQuery Rails connector。请访问此链接以获取更详细的说明,具体取决于您使用的Rails版本。