リクエスト時にパラメータを付与する方法
リクエスト時にパラメータを付与する方法
railsでは、リクエスト時にURLにパラメータを付与することができる。
通常は、以下のようにパス名にidなどが含まれる時にパスのヘルパーメソッドにインスタンスなどを渡して、そのidの情報を与えて、コントローラ側でパスに含まれているidを[params]で取得する。
[ルーティング] board_bookmarks POST /boards/:board_id/bookmarks(.:format) bookmarks#create
[app/views ファイル] <%= link_to board_bookmarks_path(board), method: :post do %> <%= icon 'far', 'star' %> <% end %>
railsでは、パスにidなどが含まれていなくてもリクエスト時にパスにパラメータを付与する事ができる。 以下に例を示す。
[ルーティング] bookmarks POST /bookmarks(.:format) bookmarks#create
[app/views ファイル] <%= link_to bookmarks_path(board_id: board.id), method: :post do %> <%= icon 'far', 'star' %> <% end %>
上記のbookmarks_pathで生成されるパスには、id情報などが含まれないが、bookmarks_path(board_id: board.id)のようにパラメータを渡すことで、リクエスト先のbookmarksコントローラのcreateアクションに[board_id: board.id]というパラメータを渡す事ができる。
下記のような感じでURLにパラメータが入る。
ex)
/bookmarks?board_id=1