LoginSignup
0
0

More than 3 years have passed since last update.

【Rails】 "rails routes"による行き先の決め方

Last updated at Posted at 2020-10-20

"rails routes"こちらをターミナルに表示させたのはよいがどの様に使うのかイマイチ理解ができなかたった
のでノートに書いていることを纏めました。

rootメソッド

プログラミングにおいてMVCという概念は必要になります。
その際にクライアントからリクエストがあった際に、リクエストに対応した行き先を定義します。

image.png

今回は最初のrootメソッドの設定をしたいと思います。

sample.rb
Rails.application.routes.draw do
  root to: "posts#index"
end
ターミナル
rake routes(rails routesでも可)

Prefix Verb   URI Pattern    Controller#Action    

root   GET       /            posts#index                                                                           

rootの書き方は以下になります

root to: 'コントローラー名#アクション名'

解説

'コントローラー名#アクション名'
これはrails routesのController#Actionをそのまま引用。
更に""(ダブルコーテーション)を使って出来上がりです。

root to: "posts#index"
これにより、googleとかで検索してHPをクリックしたらトップページが表示される様になります。

【Rails】link_toメソッドで指定したviewファイルに飛ぶ方法

書き方

link_to.rb
= link_to prefix_path, HTTPメソッド名 クラス名  do
sample.rb
 link_to root_path do
 link_to "Our Blog", root_path, class: "header__title--text" do
 link_to "新規投稿", new_post_path, class: "header__right--btn" do

下はrails routesのターミナルによる結果

Prefix     Verb      URI Pattern      Controller#Action
  root     GET          /                posts#index
  posts    POST     /posts(.:format)     posts#create
  new_post GET     /posts/new(.:format)   posts#new

HTTPメソッドとは

GETはフォームを表示し,DELETEは削除するという意味がある。以下は参考して下さい。
場所はrails routesでVerbに記述している。
“スクリーンショット” 2020-10-20 15.55.07.jpg

但し、Prefixが同じ場合は2行目から省略される
“スクリーンショット” 2020-10-20 15.02.03.jpg

この場合はmethod: :HTTPメソッド名を指定しないとエラーが起きるので必ず記述すること。

sample.rb
<%= link_to '編集', tweet_path(@tweet.id), method: :get %>
<%= link_to '削除', "/tweets/#{@tweet.id}", method: :delete %>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0