ギークなエンジニアを目指す男

機械学習系の知識を蓄えようとするブログ

Ruby on railsでタスクアプリを作成してみる~ビューの作成~

f:id:taxa_program:20170728005217p:plain

前回の続きで、今日もタスクアプリをがしがし作成していきます。
前回記事はコチラから。
taxa-program.hatenablog.com

コントローラにアクションを作成

前回記事で、コントローラの作成は終了しているので、
今日はコントローラにアクションを追加していきます。
下記ファイルを編集しましょう。
taskapp/app/controllers/projects_controller.rb

class ProjectsController < ApplicationController
  # --追加
  def index
    #変数にproject一覧を設定
    @projects = Projects.all
  end
  # --追加
end

indexという関数を作成し、@を付与した変数を作成。
この@をつけた変数は、後のビューで使用できます。
projects.all とすることで、projectの一覧が設定されます。

ビューの作成

次にコントローラに設定したindexメソッドに対応する
ビュー(HTMLファイル)を作成します。

コントローラとビューの仕組みに関してはこちらの記事を参照して下さい。
taxa-program.hatenablog.com

下記フォルダ内にindex.html.erbファイルを作成。
taskapp/app/views/projects/index.html.erb

これがビュー(HTML)ファイルになります。

中身はこんな感じで、projectsの中身をループさせ、
title一覧を表示させています。

<h1>projects</h1>

<ul>
  <!-- コントローラで設定した@projectsの中身をループさせる -->
  <% @projects.each do |project| %>
  <!-- projectのtitleを表示する -->
  <li><%= project.title %></li>
  <% end %>
</ul>

ailsサーバを起動してアクセス

ここまできたら、いつも通りにサーバを起動させて、アプリを実行してみます。

$ rails s

f:id:taxa_program:20170729134545p:plain

前回入力した、p1とp2が出力されました!

ルーティングの設定

最後にメイン画面へのルーティングを設定してみます。

今は
http://localhost:3000/projects
というURLで該当画面へアクセスしましたが、この画面がメイン画面になるので、
http://localhost:3000
というURLでアクセスできるように、ルーティングの設定をします。

taskapp/config/routes.rb ファイルを下記のように修正

Rails.application.routes.draw do
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
  resources :projects
  root 'projects#index' #rootページを設定
end

そうすると、下記のようにprojectsまでパス指定せずとも、メイン画面が表示されます。

f:id:taxa_program:20170729144324p:plain