プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Ruby on Rails
  • 【Ruby on Rails】URLの指定方法について(URLヘルパーメソッド等)
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Ruby on Rails】URLの指定方法について(URLヘルパーメソッド等)

12.01

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

URLの指定方法の種類

Railsには下記のように様々なURLの指定方法があります。

  • 文字列を直接指定する。(/usersと言ったような)
  • ハッシュを利用する。({controller: :users, action: :index}というような)
  • URLヘルパーメソッドを利用する。

URLを直接指定する方法

この方法はURLを後で変更しようとした際の修正箇所が多くなってしまうため使うのはやめましょう。

ハッシュを利用する方法

Railsが登場した当時の古くからある方法です。下記の利点を満たしている場合は採用の余地はありです。

利点

  • ビューとコントローラで文脈に応じて別々のURLを生成したいとき
  • 安定して簡潔に書ける。

URLヘルパーメソッドを使う方法

Rails2.0(2007年リリース)でRESTful-APIをサポートした時に実装されました。特別な事情がない限りはこちらの方法を使うようにしましょう。

利点

  • 指しているURLが明確でわかりやすい。

URLヘルパーメソッド

なお、以下は「_path」という構文を使っていますが「_url」という構文を使うことでドメインなどを含んだ完全なURLを返してくれます。

モデルの複数形_path(例、users_path)

resourcesで言えば一覧画面を表示します。

モデルの単数形_path(例、user_path)

resourcesで言えば詳細画面か、更新処理か削除処理を示します。(何が選ばれるかはHTTPメソッドで変わります。)

1
user_path(id: 1)

new_モデルの単数形_path(例、new_user_path)

resourcesで言えば新規登録画面を表示します。

モデルの複数形_path(例、users_path)

resourcesで言えば登録処理(POST)を示します。

edit_モデルの単数形_path(例、edit_user_path)

resourcesで言えば編集画面を表示します。

1
edit_user_path(id: 1)

注意点

Railsのデフォルト設定ではコントローラー、ヘルパー、ビュー以外の場所ではURLヘルパーメソッドは利用できません。(例えば、モデルやクラス、モジュールなどでは利用できないです。)

なお利用しようとする場合は以下のように指定すればいけます。

1
Rails.application.routes.url_helpers.xxx_path

スポンサーリンク
  • 2019 12.01
  • miyabisan2
  • コメントを書く
  • Ruby on Rails
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 03.28

    【Ruby on Rails】「Flashメッセージ」について

  2. 2019 11.17

    【Ruby】日付や時刻を扱うクラス

  3. 2019 11.26

    【Ruby on Rails】バリデーション処理、メッセージの日本語化

  4. 2020 11.02

    【Ruby on Rails】「Redis」の基本、Railsへの導入

  5. 2018 06.19

    【Ruby on Rails】YAMLの基本と、データベースの接続設定をするには?

  6. 2019 12.29

    【Ruby on Rails】「bcrypt」によるログイン機能の実装

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Rspec】itのマッチャの種類(カスタムマッチャ、…

【Ruby on Rails】エラー処理の概要

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー