【36日目】【1日20分のRailsチュートリアル】【第5章】Cotactページの作成とリンクの追加
今日は「5.3.1 Contactページ」から。
5.3.1 Contactページ
まずContactページのテストを追加する。
第3章の演習で追加してたのでさくっと追加します。
test/controllers/static_pages_controller_test.rb
test "should get contact" do get :contact assert_response :success assert_select "title", "Contact | Ruby on Rails Tutorial Sample App" end
こまめにテスト実行がめんどくさいので自動でテストしてくれるようにしておく。
$ bundle exec guard
Cotactページのルート追加して
config/routes.rb
get 'static_pages/contact'
アクション追加して ```app/controllers/static_pages_controller.rb```
def contact end
ビューを追加する。
$ touch app/views/static_pages/contact.html.erb
```app/views/static_pages/contact.html.erb```
<% provide(:title, 'Contact') %>
Contact
Contact the Ruby on Rails Tutorial about the sample app at the contact page.
これでテストが通るようになりました。 ## 5.3.2 Railsのルート > 本項では、名前付きルートをサンプルアプリケーションの静的ページで使うために、ルーティング用のファイル (config/routes.rb) を編集していきます。 名前を定義することで他からその名前で使える、ってことなのかな…? ルーティングファイルに下記を追加。 ```config/routes.rb```
root 'static_pages#home' get 'help' => 'static_pages#help' get 'about' => 'static_pages#about' get 'contact' => 'static_pages#contact'
## 5.3.3 名前付きルート さっきの対応により*名前付きルート*が使えるようになったそう。 リンク先を```#```にしていたところに名前付きルートで正式なリンクを貼っていく。 まずはヘッダー。 ```app/views/layouts/_header.html.erb```
<%= link_to "sample app", root_path, id: "logo" %>
:
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
次はフッター。 ```app/views/layouts/_footer.html.erb```
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Contact", contact_path %></li>
これで一通りリンク貼れました。 今日の作業時間は**【26分】**。 次は「5.3.4 リンクのテスト」から。