タスク管理アプリを作ってみよう(ラスト)
1. 前置き
1. 前提・事前作業
- こっちの投稿
- 例によってドットインストールの写経
- #28 Tasksの数を表示させようを実施
2. Tasksの数を表示させよう
- プロジェクト一覧画面にタスクの消化状況を表示する
-
/home/vagrant/taskApp/app/views/projects
のindex.html.erb
を弄る。
ERB(index.html.erb)
<% @projects.each do |project| %>
<li>
<!-- 登録情報参照ページへのリンク -->
<%= link_to project.title, project_path(project.id) %>
<!-- タスクの消化状況を表示 -->
<!-- (残件数/総数) -->
(<%= project.tasks.unfinished.count %>/<%= project.tasks.count %>)
<!-- 編集ページへのリンク -->
<%= link_to "[Edit]", edit_project_path(project.id) %>
<!-- 削除リンク -->
<!-- methodにdeleteを指定することで、Destroyアクションと紐づけられる -->
<!-- dataで確認メッセージを指定 -->
<%= link_to "[Delete]", project_path(project.id), method: :delete, data: {confirm: "are you sure?"} %>
</li>
<% end %>
</ul>
<p><%= link_to "Add New", new_project_path %></p>
-
/home/vagrant/taskApp/app/models
のtask.rb
を弄る。 -
unfinished
を追加
ruby(task.rb)
class Task < ActiveRecord::Base
belongs_to :project # projectに属してるよ。という情報
# 必須チェック メッセージの設定はなし
validates :title,
presence: true
# 未完了タスクデータ取得
# scopeで、検索条件を指定した場合のデータを定義する(unfinishedを定義)
scope :unfinished, -> { where(done: false) }
end
終わり