Sha256: 6aab1650117136a32eccf358674d5b67abc6b870d500c9e77eccf6072b2ba9fb

Contents?: true

Size: 1.51 KB

Versions: 3

Compression:

Stored size: 1.51 KB

Contents

# -*- coding: utf-8 -*-
# destroyメソッドに注意。モバイル対応&テキストリンク利用のためイレギュラーなことをしている
# restに対応した形を徹底したい場合は、削除確認ページへのリンクを以下の様に、formにする
# <%= form_tag(Task_path(task, :mode => "draft"), :method=>:delete) do %><%= submit_tag "delete", :name => "delete" %><% end %>

class TasksController < ApplicationController
  def index
    @search = Search::Task.new(params[:search])
    @search.project_id = params[:project_id]
    @tasks = @search.base.order("created_at desc").all
  end

  def show
    @task = Task.find(params[:id])
    render "destroy" if params[:mode] == "draft"
  end

  def new
    @task = Task.new(params[:task])
  end

  def edit
    @task = Task.find(params[:id])
  end

  def create
    @task = Task.new(params[:task])
    save
  end

  def update
    @task = Task.find(params[:id])
    @task.attributes = params[:task]
    save
  end

  def destroy
    @task = Task.find(params[:id])
    if params.key?("back")
      redirect_to(task_url)
    elsif params[:mode] != "draft"
      @task.destroy
      redirect_to(task_url, :notice => "deleted success.")
    end
  end

  
  private
  def save
    if !params.key?("back") && @task.valid?
      if params[:mode] == "draft"
        render :action => 'confirm'
      else
        @task.save!
        redirect_to task_path(@task), :notice => 'saved success.'
      end
    else
      render (@task.new_record? ? :new : :edit)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
railstar-0.0.12 test/dummy/app/controllers/tasks_controller.rb
railstar-0.0.11 test/dummy/app/controllers/tasks_controller.rb
railstar-0.0.10 test/dummy/app/controllers/tasks_controller.rb