Sha256: 2a966bdfe8e7036e7663cf2055bee4e8a31b94523c2186124e1429707212abea
Contents?: true
Size: 1.5 KB
Versions: 4
Compression:
Stored size: 1.5 KB
Contents
# -*- coding: utf-8 -*- # destroyメソッドに注意。モバイル対応&テキストリンク利用のためイレギュラーなことをしている # restに対応した形を徹底したい場合は、削除確認ページへのリンクを以下の様に、formにする # <%= form_tag(Project_path(project, :mode => "draft"), :method=>:delete) do %><%= submit_tag "delete", :name => "delete" %><% end %> class ProjectsController < ApplicationController def index @projects = Project.order("created_at desc").all end def show @project = Project.find(params[:id]) render "destroy" if params[:mode] == "draft" end def new @project = Project.new(params[:project]) end def edit @project = Project.find(params[:id]) end def create @project = Project.new(params[:project]) save end def update @project = Project.find(params[:id]) @project.attributes = params[:project] save end def destroy @project = Project.find(params[:id]) if params.key?("back") redirect_to(project_url) elsif params[:mode] != "draft" @project.destroy redirect_to(project_url, :notice => "deleted success.") end end private def save if !params.key?("back") && @project.valid? if params[:mode] == "draft" render :action => 'confirm' else @project.save! redirect_to project_path(@project), :notice => 'saved success.' end else render (@project.new_record? ? :new : :edit) end end end
Version data entries
4 entries across 4 versions & 1 rubygems