0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

URLパラメータ(クエリ文字列)は文字列で取得されますよ。

Last updated at Posted at 2022-06-16

先日会社でサービスの開発をしている時、URLパラメータを取得しているのに読み込まれていない事案が発生しました。
案外ミスしがちなポイントだったので記事に残します。(タイトルが結論ですが。)

やりたかったこと

URLパラメータをインスタンス変数に入れてviewで表示内容を変えるというものです。

controler.rb
@user_type = params[:id]     # URLパラメータの値を取得
view.rb
<% if @user_type == "1" %>
  <%= link_to %>
<% end %>

はまりポイント

はまりポイントというほどでもないですが、ちょいはまりくらいです。
URLパラメータは文字列型で取得されることです。
ですので「よし、id=1のパラメータを取得したぞぉ」といってif @user_type == 1と書いても認識されないわけです。

まとめ

「URLパラメータは全て文字列で取得される。IntegerやArrayで使用したい場合は都度、変更する必要があ
る。」
URLパラメータ、別名クエリ文字列と言われるのでクエリ文字列で覚えてたらこんなミスはないと思いますが,,,

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?