0
Help us understand the problem. What are the problem?

posted at

updated at

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

先日会社でサービスの開発をしている時、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パラメータ、別名クエリ文字列と言われるのでクエリ文字列で覚えてたらこんなミスはないと思いますが,,,

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?