確認画面のアクションのテンプレ
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) とかよりもこっちが好み。
つーか、なんにでも確認画面つけるのイラッてくる。撲滅運動したい。重要かつ不可逆の操作以外はいらないでしょーが!! すぐ編集できるものにつけるとかなによ。重要かつ不可逆でも、頻度が著しく高いものは必要ない。例えばメールとかな!