2007-05-23
每天一剂Rails良药之Automatically Save a Draft of a Form
关键字: Rails Automatically Save a Draft of a Form
今天我们来看看Gmail里的Ajax自动保存草稿在Rails里的实现
首先在layout里引入Javascript标签
[coce]
<%= javascript_include_tag :defaults %>
[/code]
posts_controller.rb
[code] def new if request.get? @post = session[:post_draft] || Post.new else @post = Post.create(params:post]) session[:post_draft] = nil redirecto_to :action => 'list' end end def save_draft session[:post_draft] = Post.new(params[:post]) render :text => "<i>Draft saved at #{Time.now}</i>" end [/code]
posts/new.rhtml
[code] <% form_for :post, @post, :url => {:action => "new" }, :html => {:id => 'post_form'} do |f| %> Title: <%= f.text_field :title %><br/> Body: <%= f.text_area :body %><br/> <%= submit_tag "Save Post" %> <% end %> <div id='draft-message' style='color:read;'> </div> <%= observe_form 'post_form', :url => {:action => 'save_draft'}, :update => 'draft-message', :frequency => 30 %> [/code]
BTW:以前就有过在蛙眼写博客然后发表时浏览器崩溃的情况,现在都先用文本文件写然后转贴,蛙眼怎么不把这个功能不加上呢?
首先在layout里引入Javascript标签
[coce]
<%= javascript_include_tag :defaults %>
[/code]
posts_controller.rb
[code] def new if request.get? @post = session[:post_draft] || Post.new else @post = Post.create(params:post]) session[:post_draft] = nil redirecto_to :action => 'list' end end def save_draft session[:post_draft] = Post.new(params[:post]) render :text => "<i>Draft saved at #{Time.now}</i>" end [/code]
posts/new.rhtml
[code] <% form_for :post, @post, :url => {:action => "new" }, :html => {:id => 'post_form'} do |f| %> Title: <%= f.text_field :title %><br/> Body: <%= f.text_area :body %><br/> <%= submit_tag "Save Post" %> <% end %> <div id='draft-message' style='color:read;'> </div> <%= observe_form 'post_form', :url => {:action => 'save_draft'}, :update => 'draft-message', :frequency => 30 %> [/code]
BTW:以前就有过在蛙眼写博客然后发表时浏览器崩溃的情况,现在都先用文本文件写然后转贴,蛙眼怎么不把这个功能不加上呢?
发表评论
- 浏览: 681835 次
- 性别:

- 来自: BJ

- 详细资料
搜索本博客
我的相册
screenshot
共 1 张
共 1 张
最近加入圈子
最新评论
-
Mnesia用户手册:三,构建 ...
要想创建disc_copies和disc_only_copies类型的表有两个前 ...
-- by hideto -
翻译www.djangobook.com之 ...
有个问题问一下: 我先配置了一个urlpatterns是这样的: r'^myd ...
-- by lyhapple -
Why OO sucks
gigix 写道lyl0035 写道为啥就没人想想,其实在面向对象的代码中也流露 ...
-- by hurd -
Why OO sucks
貌似又回到当年java vs c的年代。两种方式,不管是OO还是FP,仅是人处理 ...
-- by python -
大家可以抛弃Java踹死Djan ...
to phoenixup:1,你还别说,你举的什么Struts,Tapestry ...
-- by hideto






评论排行榜