機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

Rails ルーティングについて

プログラミング

rails cをすると、 Prefix; Verb; URI Pattern; Controller#Action; と分かれて表示されるかと思いますが、
これらそれぞれ意味するものや、定義の仕方について説明します。

get ‘userinfo/show/:here/:dist’ => ‘userinfo#show’,as:’userinfo_show’

routes.rbから、この行を例にとって説明します。

最初のgetpost、他にもありますが、これらがVerb
getやpostに続いて指定しているパスが、URI pattern
:ortoor=>で定義しているのが、コントローラーのアクションを示す、Controller#Action
最後に、as:で定義しているのが、Prefix

となります。

getやpostに関してはわかるかと思います。
簡単に言えば、getが指定されていれば、そのURLにアクセスすることができます。もっとも、Railsの場合は、そのgetのURLに基づいたhtml.erbが存在しないと、エラーになってしまうのですが。
postは、ユーザーがフォームなどに入力したデータを、postで指定した他のファイルに送信する役割です。
他にもputとかありますが、難しいので省略。

toで指定するのが、アクションです。ここでは、userinfo_controller.rbのdefで定義された、showアクションを指定しています。そのshowアクションに書いてあるRubyコードが、最終的にページが表示されるまでに処理されるわけです。

prefixですが、これはファイルパスのユーザー定義、とでも言えば良いのでしょうか。
このPrefixに、_pathをつければ、Railsのプロジェクトフォルダのどこからでも、特定のファイルを参照することができます。
例えば、

<%= form_for(@userinfo , url: dev/update) do |f| %>
  <%= f.text_area :name %>
  <%= f.submit %>
<% end %>

と書くのと、

<%= form_for(@userinfo , url: dev_update_path) do |f| %>
  <%= f.text_area :name %>
  <%= f.submit %>
<% end %>

と書くのは、同じです。

双方とも、url:で同じファイルを指定しています。

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

Ubuntu 16.04 Rails 5にpostgresSQLをセットアップ
RailsのpostgreSQLにローカルネットワーク(LAN/外部)から接続したい
Rails 5 現在のビューの絶対パス/相対パスを出力
Rails 5 Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
Rails Ahoy
Railsで挫折しないためのRailsの学習の進め方
Rails ポート3000以外でサーバーを実行`rails s`したい


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu