#link_toメソッドとは?
link_toは、Rubyタグ(<%= %>)の中で使用することができるメソッドである。このメソッドは、引数を指定することで様々なリンクを生成する。
<%= link_to 'ツイート一覧へ', '/tweets' %
通常、HTMLコード内でリンクを生成する際はaタグを使用する。
<a href="http://sample.htm">サンプルサイトへ飛びます。</a>
しかし、link_toメソッドを使って記述を行うと、HTMLコードが読み込まれる際にaタグに変換される。そのため、サイトを表示した際には、aタグと同様にリンクとして表示される。
ログインや新規登録ボタンを実装する時も、このメソッドを利用する。
#link_toメソッドの使い方
削除ボタンなどをビューに設定したい時は、link_toメソッドの後に引数をつけるとできる。
第一引数が文字列の指定、第二引数がパスの指定、第三引数がhttpメソッドの指定をする。第二引数がパスは、rake routseコマンドで調べることができる。
rake routesコマンド
$ rake routes
例).削除機能の場合
<%= link_to '削除', "/tweets/#{tweet.id}", method: :delete %>
例).グループ編集機能の場合(Editボタンとして表示)
= link_to 'Edit', edit_group_path(@group.id)
ちなみに、rake routesコマンドでパスを調べると、以下のような表示が出る。
new_group GET /groups/new(.:format) groups#new
edit_group GET /groups/:id/edit(.:format) groups#edit
group PATCH /groups/:id(.:format) groups#update
PUT /groups/:id(.:format) groups#update
2行目の/groups/:id/editというパスを第二引数に代入し、GETを第三引数に代入する(小文字で代入する)。