確認画面のアクションのテンプレ

  def confirm
    if request.post?
      @user = User.new(params[:user])
    else request.put?
      @user = User.find(params[:id])
      @user.attributes = params[:user]
    end

    if @user.valid?
      respond_to do |format|
        format.html # confirm.html.erb
        format.xml  { head :ok }
      end
    else
      respond_to do |format|
        format.html { render :action => (@user.new_record? ? "new" : "edit") }
        format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
      end
    end
  end

つーじょーは xml はいらないでしょうが。


ビューはこんな感じで。

<%- form_for(@user, :url => (@user.new_record? ? users_path : user_path(@user))) do |f| -%>
  <%= render :partial => "hidden_form", :locals => {:f => f}  %>
  <%= f.submit "登録" %>
<%- end -%>


ルーツはこんな感じかな。

  map.resources(
    :users,
    :collection => {
      :confirm => :post,
    },
    :member => {
      :confirm => :put,
    }
  )

:new => { :confirm => :post } (/users/new/confirm) とかよりもこっちが好み。


つーか、なんにでも確認画面つけるのイラッてくる。撲滅運動したい。重要かつ不可逆の操作以外はいらないでしょーが!! すぐ編集できるものにつけるとかなによ。重要かつ不可逆でも、頻度が著しく高いものは必要ない。例えばメールとかな!