Ruby
Rails
1
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

link_toでURIに二つの引数を渡す

はじめに

 以前に、link_toメソッドのpathの引数について投稿したが、本日、引数を2つ渡す状況があったので、忘れないために、まとめておく。

link_toメソッドとは

<% link_to '表示させる文字', ○○_path %>

とすることで、HTMLのaタグのような扱いができる。

pathに引数が必要な場合

ターミナルでrails routesのURIが、

/class_rooms/:class_room_id/messages/:id(.:format)

「:」と「id」がついてると、そこには引数を渡す必要がある。
:class_room_id:idに引数が必要。

pathに2つの引数を渡す必要がある場合

先の例で、
一つめの:class_room_idが必要になっているのは、ルーティングをネストしているため。

routes.rb
resources :class_rooms, only: [:index, :new, :create] do
    resources :messages, only: [:index, :create, :destroy]
  end

ルーティングをネストした場合は、link_toのpathの引数を二つ指定しなければならない。

<%= link_to '表示させる文字', class_room_message_path(@class_room, message) %>

指定する順番は、URIにある順番にする。

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
ユーザー登録ログイン
TerToEer_sho
学習したことや気づきをアウトプットしています。お気づきの点がありましたら、ご教授ください。

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
1
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー