app/controllers/tasks_controller.rbの先頭の6行目に、def index という記述があるかと思います。
class TasksController < ApplicationController
before_action :set_task, only: [:show, :edit, :update, :destroy]
def index
@tasks = Task.all
end
# 以下省略
end
この部分の処理が実際に一覧画面の処理に関わってきますので以下に処理内容を簡単に説明します
Railsの便利な仕組みがあるため、index の処理の最後では自動的にテンプレートエンジンが選択されました。
この省略されてる処理を自分で書くには以下のようにします
class TasksController < ApplicationController
before_action :set_task, only: [:show, :edit, :update, :destroy]
def index
@tasks = Task.all
# 以下を追加
render :action => "index"
end
# 以下省略
end
render :action => "アクション名"
という形で記述することで、アクション名に指定される処理(今回の場合はindex)に処理が移ります。
また、render のオプションは
render :template => "コントローラ名/アクション名"
という書き方も出来ます。そのため
class TasksController < ApplicationController
before_action :set_task, only: [:show, :edit, :update, :destroy]
def index
@tasks = Task.all
# 以下を追加
render :template => "tasks/index"
end
# 以下省略
end
の方が、今回についてはより理解しやすい書き方になるかと思います。
今回のようなサンプルアプリの場合には正直あまり使い道無いのですが、表示形式をHTMLではなく、JSON形式にすることもできます。
class TasksController < ApplicationController
before_action :set_task, only: [:show, :edit, :update, :destroy]
def index
@tasks = Task.all
# 以下を追加
render :json => @tasks
end
# 以下省略
end