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”}