2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsでタスク管理アプリを作成_3

Last updated at Posted at 2014-04-14

タスク管理アプリを作ってみよう(続き)

1. 前置き

1. 前提・事前作業

2. Projectsの詳細を表示しよう

  • projectをクリックしたら詳細に飛べるようにする

無題.png

3. index Viewの編集(遷移先を定義)

  • /home/vagrant/taskApp/app/views/projectsindex.html.erb を編集する
ERB(before)
<h1>Projects</h1>

<ul>
  <% @projects.each do |project| %>
  <li> <%= project.title %> </li>
  <% end %>
</ul>

  • link_to ヘルパーを使用
  • project.idproject に渡すようにする
  • project とか id とかそこら辺の定義が何処にあるかは以前のポストを参照
ERB(after)
<h1>Projects</h1>

<ul>
  <% @projects.each do |project| %>
  <li> <%= link_to project.title, project_path(project.id) %> </li>
  <% end %>
</ul>

無題.png

  • リンクになった

4.Actionの作成

  • 以前のポストを見たところ、 show が必要
  • Controllerを弄る( /home/vagrant/taskApp/app/controllersprojects_controller.rb )
ruby(before)
class ProjectsController < ApplicationController


  # indexアクションを追加
  def index
    # @をつけた変数はviewでそのまま使用可能
    # Projectの全データを引っ張ってくる
    @projects = Project.all
  end


end
ruby(after)
class ProjectsController < ApplicationController


  # indexアクションを追加
  def index
    # @をつけた変数はviewでそのまま使用可能
    # Projectの全データを引っ張ってくる
    @projects = Project.all
  end

  # showアクションを追加
  def show
    @project = Project.find(params[:id])
  end

end

5. show Viewの追加

  • /home/vagrant/taskApp/app/views/projectsindex.html.erb をコピーして show.html.erb を作成
ERB
<h1><%= @project.title %></h1>

無題.png

  • HOMEの「project1」リンクをクリックしたら↑に遷移できた

6. 新規project作成フォームを作成

  • projects/new を作成する

  • 以前のポストを参照

  • projects/new で作成した内容をPOSTで受け取って projects/create でデータ保存する

  • /home/vagrant/taskApp/app/views/projectsindex.html.erb にフォームを作成

ERB
<h1>Projects</h1>

<ul>
  <% @projects.each do |project| %>
  <li> <%= link_to project.title, project_path(project.id) %> </li>
  <% end %>
</ul>

<p><%= link_to "Add New", new_project_path %></p>
  • これで、リンクが作成される

無題.png

  • Controllerを編集する( /home/vagrant/taskApp/app/controllersprojects_controller.rb )
ruby
class ProjectsController < ApplicationController


  # indexアクションを追加
  def index
    # @をつけた変数はviewでそのまま使用可能
    # Projectの全データを引っ張ってくる
    @projects = Project.all
  end

  # showアクションを追加
  def show
    @project = Project.find(params[:id])
  end

  # newアクションを追加
  def new
    @project = Project.new
  end


end
  • Viewを作成する(/home/vagrant/taskApp/app/views/projectsnew.html.erb を作成)
ERB
<h1>Add New</h1>

<!-- フォーム -->
<%= form_for @project do |f| %>

<p>
  <!-- ラベル -->
  <%= f.label :title %> <br>
  <!-- フィールド -->
  <%= f.text_field :title %> <br>
</p>

<p>
  <!-- サブミット -->
  <%= f.submit %> <br>
</p>

<% end %>
  • 登録フォーム画面ができた

無題.png

  • 続きは次のポスト
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?