阅读更多
所见即所得方式的问卷设计器终于搞定了,一些细节体会:
* 任何Ajax操作都应该加spinner(进度滚轮)和本地failure提示
* 注意id命名不要重复,但在使用observe_field时不同div中的元素可以重名
* Firebug是调试Ajax不二利器,配合web developer使用
* 不需要服务端处理的用link_to_function直接调用本地方法,比如cancel掉一个form
* 注意高亮各种直接show和hide的变化,否则改变太快让人难以察觉
* :update的用法:如果只更新一个元素就直接把要更新的容器设到:update里,如果更新多个元素否则设成""在服务端用RJS。:update选项在form_remote_tag中可省略,但在link_to_remote和observe_field中省略将无法使用Ajax
* Ajax系列的helper参数和普通form helper不同,参数分三组:url,
ption, :html, :url一定要显式声明如:url => {:action => 'xxx'}。后两组不分组的话都算:option, 传给html的参数需要用:html => {}包裹
* 注意page.replace_html只替换元素内层内容,page.replace则完全替换整个元素
* observe_field不设:frequency时按照onClick触发
* 用做容器的div的style=display :none不能设到css里去,否则会永远看不见
* 考虑使用 MergeJS压缩javascript
* 尽量少用Ajax特性,魔鬼都在细节中。