Step by Step Ruby on Rails

Ruby on Railsで実際にWebサイトを構築する手順をまとめています。

Rails4でクエリーストリングパラメータをparamsで受け取る方法

Rails4でクエリーストリングパラメータを使ってデータを送信し、paramsで受信する方法を確認しました。
 
クエリーストリングパラメータを単純な文字列、配列、ハッシュと指定する方法とその送信データをparamsで受け取る方法をまとめました。
 
1)サンプルコード作成
 
①リソースルート設定
 
$ vi config/routes.rb

  resources :users do
    collection do
      get 'search'
      get 'result'
    end
  end

 
②searchビュー
 
$ vi app/views/users/search.html.erb
 
<a href="/users/result?string=string">Search:string</a>
<a href="/users/result?ary[]=ary1&ary[]=ary2&ary[]=ary3">Search:array</a>
<a href="/users/result?hash[key1]=key1&hash[key2]=key2&hash[key3]=key3">Search:hash</a>
 
③resultビュー
 
$ vi app/views/users/result.html.erb
 
<H2>Search Result</H2>
<%= p @string %>
<%= p @ary %>
<%= p @hash %>
 
④コントローラ

  def search
  end
  def result
    @string=params[:string]
    @ary=params[:ary]
    @hash=params[:hash]
  end

 
2)実行結果
 
下記URLにアクセスし、表示結果を確認しました。
http://localhost:3000/users/search
 
①文字列の場合
"/users/result?string=string"
→string
 
②配列の場合
"/users/result?ary[]=ary1&ary[]=ary2&ary[]=ary3"
→["ary1", "ary2", "ary3"]
 
③ハッシュの場合
"/users/result?hash[key1]=key1&hash[key2]=key2&hash[key3]=key3"
{"key1"=>"key1", "key2"=>"key2", "key3"=>"key3"}