RailsでWEBアプリケーションなどを開発していると、必ず使うと言っても過言ではないメソッドの1つに、link_toメソッドが挙げられます。link_toメソッドは、HTMLの<a>タグに相当します。(HTMLのタグについてはHTMLについて解説した記事をお読みください。)本記事では、link_toメソッドの基本的なソースコードの書き方の紹介と、実際のWEBアプリケーションでlink_toメソッドを使ってみます。link_toメソッドに似た、link_to_unless_currentというメソッドがあります。これもlink_toと同様によく使うメソッドなので、今回はこのlink_to_unless_currentメソッドの使い方にも触れていきます。本記事だけでlink_toメソッドについて充実の内容です。最後までお読みください。link_to_unless_currentメソッドとは?link_toメソッドの基本的な書き方link_toの基本的なソースコードの書き方を解説します。link_toの第1引数にはリンクのテキスト、第2引数にはパスやURLを指定します。以下の例は、Yahooへのリンクを作成するものです。%>link_toの第2引数にはパスを指定することもできます。トップぺージへのリンクをパスを用いて作成する場合は以下のようになります。%>※パスを用いた作成方法については、次章の「link_toを使ってみよう!」で詳しく解説していきます。link_toメソッドの第3引数には、ハッシュでmethodオプションや属性を指定できます。%>methodオプションではHTTPメソッドの種類を指定します。何も指定しなければGETになります。class=”menu”>のようなタグになります。以上がlink_toメソッドの基本的なソースコードの書き方です。難しそうなイメージはないと思います。以下からは、実際にlink_toを使ってみます。link_toメソッドを使ってみよう!link_toメソッドを使うために、まずはscaffold(簡単にWEBアプリケーションが作れる仕組み)を使ってdemo_appというWEBアプリケーションを作成しましょう。ターミナルに以下のコマンドを打ち込みます。db:migrateこれでdemo_appというアプリケーションが作成されました。引き続きターミナルに以下のコマンドを打ち込んでサーバーを起動させます。serverメンバー新規作成のぺージ(app/views/member/new.html.erb)を表示させてみます。ブラウザに以下のURLを入力してください。http://localhost:3000/members/newすると、以下のような画面が表示されます。このぺージにある、Backというリンクの隣に、メンバー一覧のぺージ(app/views/member/index.html.erb)へのリンクをlink_toメソッドでパスを用いて作成してみましょう。indexアクションのパスを調べることが必要ですね。routes」というコマンドで調べることができます。ターミナルに以下のコマンドを打ち込んでください。※サーバーが起動したままになっている人は「control+C」を押してサーバーを停止させてから以下のコマンドを打ち込んでください。routesすると、以下のような画面が現れます。左にある、Prefixという列に「_path」をつけたものが、各アクションへのパス(リンク)になります。indexアクションならmembers_path、showアクションならmember_pathになります。※showアクションとdestroyアクションなどは同じパスですが、Verbが違うので、それで区別します。この部分の詳しい説明は割愛させて頂きます。メンバー新規作成のぺージ(app/views/member/new.html.erb)を開いて、ファイルの一番下に以下のlink_toのソースコードを記述します。server」コマンドでサーバーを立ち上げて、ブラウザに「http://localhost:3000/members/new」を入力します。以下の画面になっていれば問題ありません。link_toで作成した「メンバー一覧」リンクをクリックします。以下の画面に移動できれば成功です。URLも「http://localhost:3000/members」になっていることを確認してください。routes」コマンドは非常に便利なので、必ず覚えておきましょう。link_to_unless_currentメソッドとは?最後に、link_toメソッドによく似たlink_to_unless_currentメソッドを紹介します。link_to_unless_currentメソッドを使うと、「第2引数で指定したパスが現在のぺージだったら、リンクの代わりにテキストだけ表示する」ということができます。以下のようなソースコードを記述したとします。%>このソースコードは、自分が今、TOPページ(root_path)にいるとすれば、「TOP」というリンクはクリックできないようにするという意味です。TOP・ニュース・ブログというメニューがあり、自分が今、TOPぺージにいる場合のイメージとしては、以下のようになります。このような仕組みは皆さんも1度は目にしたことがあるのではないでしょうか?この仕組みはlink_to_unless_currentメソッドで実現できるのです。いかがでしたか?本記事でlink_toメソッドについて理解できましたか?link_toメソッドはRailsでプログラムを組めばほぼ必ず使うメソッドです。link_toメソッドはマスターしておいてください。初心者向けの人工知能と機械学習のコース。Railsのscaffoldの使い方を解説します。利用規約お問い合わせ。