Hatena::Grouprubyist

うんたらかんたらRuby RSSフィード

2010-03-04previewボタンを付ける方法

previewボタンを付ける方法

| previewボタンを付ける方法 - うんたらかんたらRuby を含むブックマーク はてなブックマーク - previewボタンを付ける方法 - うんたらかんたらRuby

Railscasts - Multibutton Form

より。

previewは結構使うんじゃないかな。


やってみた

view

通常のsubmitに加えprevie_buttonというnameで追加。

表示部は、params[:preview_button]がある場合のみ表示ロジックを記載。

<% if params[:preview_button] %>
  <%= textilize @project.description %>
<% end %>
...
<%= submit_tag 'Create' %>
<%= submit_tag 'Preview', :name => 'preview_button' %>

controller

params[:preview_button]がある場合はnewへrender。

def create
  @project = Project.new(params[:project])
  if params[:preview_button] || !@project.save
    render :action => 'new'
  else
    flash[:notice] = "Successfully created project."
    redirect_to project_path(@project)
  end
end

更新(edit/update)も同様の方法で実装可能。

動画ではform_remote_for / submit_to_remote も紹介。

トラックバック - http://rubyist.g.hatena.ne.jp/rochefort/20100304