【TECH CAMP】[Webコース]4 Rails基礎:演習問題

Ruby on Rails

本記事では、TECH CAMP下記コースのちょっとした演習問題を出しています。

[Webコース]4 Rails基礎

Lesson 5 機能を追加しよう1 ー マイページを作成しよう

こちらのレッスン中に行った<a タグ>を<link_toタグ>へ書き換える問題となります。

レッスンと並行して、link_toタグの理解を深めるために、一緒に挑戦してみませんか?

ちなみに、私は解決まで2時間かかりました(笑)

問題となるきっかけ

テックキャンプ学習中、aタグが表示されず躓きました。

その時のTwitterの投稿がこちらです。

ひどいエラーが出ました。

しかし、原因は些細なもので

<a href="/users/<%= current_user.id"%>">マイページ</a>

…id”%…の【”】が余計でした。

その時に、<a タグ>のなかにタグがあるのは間違いやすいよとフォロワーさんが教えてくれました。

優しい世界ですよね。

そして、他が<link_to タグ>になってるので、<link_to タグ>に統一したほうがいいよとのアドバイスもいただきました。

大事なことなので、もう一回言いますけど、なんて優しい世界なんでしょう。

そこで翌日、<a タグ>を<link_to タグ>に変換する作業を行ったのがきっかけでlink_toタグへの理解を一気に深めることができました。

なので、一緒にチャレンジしてみましょう!

演習問題

まずは問題の該当箇所を見てみましょう。

[Webコース]4 Rails基礎

Lesson 5 機能を追加しよう1 ー マイページを作成しよう

問題2:マイページへのリンクを作成しましょう

見てみると、こんなコードが書いてあると思います。

<span>ログイン中のユーザーのニックネームを記述
	<ul class="user__info">
    	<li>
            <a href="/users/ログイン中のユーザーのid">マイページ</a>
            <%= link_to "ログアウト", destroy_user_session_path, method: :delete %>
        </li>
    </ul>
</span>

ここの

 <a href="/users/ログイン中のユーザーのid">マイページ</a>

を<%= link_to タグ>に直してみましょう!

問1:a → link_to書き換え [Prefixあり]

まずターミナルで下記を入力します。

$ rails routes

users#show がマイページでしたよね?

なので、右側にある users#show のPrefixを確認してみましょう。

※Prefixは一番左の行

prefix

users#showのPrefixが user となっていた場合、<a>タグを<link_to>タグにして、書き換えてみましょう。

問2:a → link_to書き換え [Prefixなし]

none_prefix

prefixがない場合の<a>タグから<link_to>タグへの書き換えをしてみましょう。

解答1:a → link_to書き換え [Prefixあり]

<%= link_to 'マイページ', user_path(current_user.id) %>

解答2:a → link_to書き換え [Prefixなし]

<%= link_to 'マイページ', "user/#{current_user}" %>

Rubyの式展開を利用したlink_toタグとなります。

まとめ

いかがでしたでしょうか?

解けましたでしょうか?

解けた時には、link_toタグの理解が深まったと思います。

もしTECH CAMPのスクールに通っていない方がいらっしゃったら、下記記事で通っている感想を書いてますので、読んでみてください。

最後までお読みいただき、ありがとうございました。

タイトルとURLをコピーしました