プロジェクトコントローラを作成します。
コマンド
rails g controller Project index show
app\controllers\project_controller.rb
class ProjectController < ApplicationController def index @projects = Project.all end def show @project = Project.find(params[:id]) @tasks = @project.tasks.order(:tag) end end
タスクコントローラを作成します。
コマンド
rails g controller Task show
app\controllers\task_controller.rb
class TaskController < ApplicationController def show project = Project.find(params[:project_id]) @tasks = project.tasks.order(:tag) @task = @tasks.find(params[:id]) end end
ルートの設定をします。
3~7行目に自動で書かれた記述は削除します。
記述追加 config\routes.rb(16行目)
resources :project do resources :task, only: [:show] end
config\routes.rb
Rails.application.routes.draw do devise_for :admin_users, ActiveAdmin::Devise.config ActiveAdmin.routes(self) devise_for :users, path: '', path_names: {sign_up: 'register', sign_in: 'login', edit: 'profile', sign_out: 'logout'}, controllers: {omniauth_callbacks: 'omniauth_callbacks', registrations: 'registrations'} # ルートページをapp\views\pages\about.html.erbに設定 root 'pages#about' get 'pages/about' resources :project do resources :task, only: [:show] end # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end