Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版 在用rails3.2学习过程中遇到的问题及解决方法
2012-12-24 11:07
966 查看
rails的AJAX实现过程中遇到的困难.
由于第三版使用的rails版本已旧.很多东西无法与rails3.2兼容,出现了很多不合适的地方,由于是初学,什么问题都得自己去google,这个问题确实费心了不少.虽然准备放弃第三版,但最终问题还是解决了.也算给自己继续学习的一点鼓励把......
原书有修改这么一个地方:/views/store/index.html.erb
需要这样做:
还有就是,虽然这样修改界面实现了,可是点击按钮还是跳到../add_to_cart/id这个见面,只有返回主界面再刷新才能更新购物车中的内容,即说明没有发生异步交互,咱们的AJAX并没有实现.在chrome下F12看见,在head标签中加载了一项js文件:defaults.js,看来是布局模板中store.html.erb中的javascript标签没有正确的加载jquery库.我是这样实现的.
首先保证app/assets/javascripts/application.js中有这样的内容:
//= require jquery
//= require jquery_ujs
//= require_tree
然后把布局模板中的<%= javascript_include_tag :defaults %>改为:<%= javascript_include_tag :application %>即可.
最后,因为在rails3.2.2中已经移除了rjs模板,所以在/store/目录下创建的add_to_cart.js.rjs是没有作用的,即你虽然点击按钮提交了请求,但是界面中的购物车并没有按照你的意愿改变.所以需要这样修改这个文件,首先重命名为add_to_cart.js.erb:
由于第三版使用的rails版本已旧.很多东西无法与rails3.2兼容,出现了很多不合适的地方,由于是初学,什么问题都得自己去google,这个问题确实费心了不少.虽然准备放弃第三版,但最终问题还是解决了.也算给自己继续学习的一点鼓励把......
原书有修改这么一个地方:/views/store/index.html.erb
<%= button_to "Add to Cart", :action => :add_to_cart, :id => product %> 修改为: <% form_remote_tag :url => {:action => 'add_to_cart', :id => product } do %> <%= submit_tag "Add to Cart" %> <% end %>首先在rails3中没有了form_remote_tag这个方法:原书代码的修改处
需要这样做:
<%= form_tag({:action => 'add_to_cart', :id => product}, :remote => true) do %> <%= submit_tag "Add to Cart" %> <% end %>remote => true及允许发送远程访问.
还有就是,虽然这样修改界面实现了,可是点击按钮还是跳到../add_to_cart/id这个见面,只有返回主界面再刷新才能更新购物车中的内容,即说明没有发生异步交互,咱们的AJAX并没有实现.在chrome下F12看见,在head标签中加载了一项js文件:defaults.js,看来是布局模板中store.html.erb中的javascript标签没有正确的加载jquery库.我是这样实现的.
首先保证app/assets/javascripts/application.js中有这样的内容:
//= require jquery
//= require jquery_ujs
//= require_tree
然后把布局模板中的<%= javascript_include_tag :defaults %>改为:<%= javascript_include_tag :application %>即可.
最后,因为在rails3.2.2中已经移除了rjs模板,所以在/store/目录下创建的add_to_cart.js.rjs是没有作用的,即你虽然点击按钮提交了请求,但是界面中的购物车并没有按照你的意愿改变.所以需要这样修改这个文件,首先重命名为add_to_cart.js.erb:
$(function(){$('#cart').html("<%= j render :partial => 'cart', :object => @cart %>");});保存,刷新一下.购物车的AJAX就实现了.
相关文章推荐
- Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版 92页 错误提示 syntax error, unexpected ')' ..._cart" , :id => product } do ).to_s) 解决办法
- Eclipse中进行web project开发时遇到httperror 500 错误 jsp support not configured 问题的解决方法
- Eclipse中进行web project开发时遇到httperror 500 错误 jsp support not configured 问题的解决方法
- WEB开发过程中遇到的各种问题及解决方法总结
- 关于TP5视图分离到根目录的解决方法 原有: 为了方便前端开发,我想把视图(view)部分分离出来专门给前端进行修改 过程:在进行视图设置分离的过程遇到了问题 参考了官方文档http://www
- 学习Java Web开发中遇到的问题,及其解决方法
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- 3D商城服务器开发过程中遇到的问题,原因以及解决方法。。。
- 报表开发过程中遇到的问题及解决方法
- Android学习过程中遇到的问题及解决方法
- 学习Java web 开发遇到的问题及解决办法!
- eclipse插件开发的发布过程中遇到的问题与解决方法总结
- spark:学习过程中遇到的一些问题及解决方法(如何将本地文件发布到HDFS)--11
- jedis开发过程中遇到的问题及其解决方法
- Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
- 前端webview开发中遇到的一些问题及其解决方法
- 使用cruiseControl.net + TestDriven.net + TypeMock.net + vs2005 + vss2005进行敏捷开发遇到的问题(已解决!!)
- 在VS2010开发过程中如果遇到类似问题的解决方法
- 【Android】android开发过程遇到的问题以及解决方法总结