プログラミングマガジン

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

  • ホーム
  • Ruby on Rails
  • 【Ruby on Rails】「画面パラメータの渡し方」の種類
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Ruby on Rails】「画面パラメータの渡し方」の種類

11.22

  • miyabisan2
  • コメントを書く

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

POST

ログイン等の個人情報を含むデータをやり取りする場合に使う。

例えば、ユーザー登録処理のURL例

1
/users

実装方法

formのパラメータを使って渡す方法(POST)

GETの後述する「パスパラメータ」、「クエリパラメータ」に対してPOSTのBODY部にJSONを含む「リクエストパラメータ」という呼び方をします。

GET

ブログの記事IDだったり、商品の商品IDだったり第三者に知られても問題ないIDを渡す場合に使われます。GETパラメータには下記2種類がありますが、下記のような違いがあります。(どちらもPOSTの時のようにStrongParameterの扱いはされません。)

パスパラメータを使って渡す場合のURL

特定のリソースを識別するための一意な値になる項目はこれを使います。

1
/users/1000

コントローラーやビューファイルなどでは以下のように取得できます。

1
@id = params[:id]

クエリパラメータを使って渡す場合のURL

省略しても問題なく画面遷移ができる項目はこれを使います。クエリを使って渡す場合は特にルーティングの設定が必要ないようです。

1
/users/new?id=1001

コントローラーやビューファイルなどでは以下のように取得できます。

1
@id = params[:id]

また、クエリパラメーター名が「num」とかであれば

1
@num = params[:num]

上記のようにクエリパラメーター名を変更すれば取得できます。

リダイレクト

1
redirect_to action: index, params:{'id'  => '111'}

上記のようにすればリダイレクト時でも同様にクエリパラメータを渡すことが可能です。

実装方法

link_toを使って渡す方法(クエリ)

ルーティングのパスに下記のようにしてパラメータを追加します。

1
<%= link_to 'New User', new_user_path(id:1001) %>

ストロングパラメータ(送られてきたパラメータを安全に扱うRailsの仕組みです。)で許可するためにidを追加します。

1
      params.require(:user).permit(:name,:id) #「:id」を追加する。

そうすることで、プログラム内で下記のように指定するだけでviewで定義したパラメータを受けることができるようになります。

1
params[:id]

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

関連記事

  1. 2018 05.04

    【Webセキュリティ】ハッシュ関数(digest)、実装方法、パスワード運用について

  2. 2019 11.24

    【セキュリティ】CSRF(クロスサイトリクエストフォージェリ)とは?

  3. 2020 11.02

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

  4. 2020 11.16

    【Ruby on Rails】「cocoon」について

  5. 2019 12.08

    【Ruby on Rails】バージョンアップ対策

  6. 2019 12.30

    【Ruby on Rails】「Model Spec(モデルスペック)」の基本

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

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

返信をキャンセルする。

【Ruby on Rails】「devise」の基本ク…

【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 ©  プログラミングマガジン | プライバシーポリシー