Rails 備忘録 リンクやpathを調べる

 

難しいことを考えず、とりあえずリンクを作りたいという場面で読むと役立つと思います。

 

ボタンを作成したり、何かのアクションした時に頻繁に行うページ移動。

その時に使用するのが”link_to”というメソッドです。

 

基本的な書き方は2種類。

<URLを使って直接指定する方法>

<%= link_to “Googleへ移動”,”https://www.google.co.jp” %>
<パスを使ってリンク先を指定する方法>
<%= link_to “トップページへ移動” , “top_path” %>

 

どちらでも結果は変わりません。

外部のサイトを指定したい場合は前者、自分のサイト内をリンク先に指定する場合は後者を採用することが多いですね。

というよりも後者では外部サイトの指定は出来ないはず。

 

まあこれを知っているとリンクが作れますよ、という話ですが、これ自体は知っている人は多いでしょう。

学習すればこのメソッドの書き方は習うはず。

しかし、いざ自分で作ろうとした途端にパスの名称の書き方がわからなくなりますよね。

そんな時にパスの調べ方は2通りあります。

<ターミナルにコマンドを打ち込んで調べる方法>

$ rails routes
これを入力すれば、以下のような画面がターミナルに出現します。
これは私がポートフォリオ用に作成していた時の物です。
色々迷走しまくった結果がこれですので、あまり綺麗とは言い難いですね。
私の作っている途上の出来はともかく、この画面は無駄な情報もなくシンプルでわかりやすいです。
しかし、どれが何を示しているのかが初心者にはわかりにくい。
私も作っているうちに大体理解出来ていきましたが、チュートリアルを抜けた段階では全然理解出来ませんでした。
そんな私がわかりやすいと思ったroutesの調べ方は、サイトで直接見る方法です。
①まずターミナルで $ rails s を入力し、サーバーを起動します。
ここに移動すると、このような画面になります。
ターミナルの画面と同じことが書いてありますね。
ただ、こちらの方が行間が広くなっており、上には何が書かれているのかをキチンと書かれています。
左端に書いているのが”link_to”で使うPath名ですね。
真ん中に書かれているのが、実際のURL。
右端に、そのURLにアクセスした時に使われるcontrollerとaction名が書かれています。
これの利点は、行間が広くて初心者にわかりやすいというのが1つ。
そしてサーバーを止めることなくroutesが調べられることです。
私的には後者の利点が高ポイントでした。
私は初心者なので、自分が書いたコードが正しいのか、実際にどのような動きをするのかを頻繁に確認したい。
だからサーバーを一々止めたり起動させたりするのは手間だし、時間がかかります。
それが嫌なので、こちらの方法を採用しています。
ただでさえ進みが遅いのに、一々サーバーをオンオフするのはめんどくさい!
そんな人は2番目の方法をやるのが良いと思います。
<%= link_to “リンクの文章”, 行きたい場所のパス名 %>
行きたい場所のパス名は左端のものを使えば良い。
これでview同士を結びつけるのが簡単になりますよね。
チュートリアルではパス名をどこで見つけてくるのかわかりにくい。
railsは便利だけど、チュートリアルから外れたことをするのは難しい。
ブラックボックスすぎる!

コメント

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