*ブログに戻る →ここ です。
参考サイトは下記にリンクを張っています。

Rubyの学習 free223
パラメーターの取得について
URLの後ろからしかパラメータの値を取得できなかった

↓Rubyのプログラムを実行すると以下のように表示される。

TakagaTravels#new

Find me in app/views/takaga_travels/new.html.erb ------------------------------------------------ URL://localhost:3000/takaga_travels/show/73 id = 73 URL://localhost:3000/takaga_travels/show/定近 id = 定近 URL://localhost:3000/takaga_travels/show/sadachika id = sadachika URL://localhost:3000/takaga_travels/show/2013 id = 2013 ----------------------------------------------- 複数のパラメーターの値をリクエストする URL://localhost:3000/takaga_travels/show/82/56 sadaupper = 82, sadalower = 56 URL://localhost:3000/takaga_travels/show/2014/定近 sadaupper = 2014, sadalower = 定近 URL://localhost:3000/takaga_travels/show/sadachika/ATSUSHI sadaupper = sadachika, sadalower = ATSUSHI ブラウザからソースコードを見る 1|sadaupper = sadachika, sadalower = ATSUSHI | | テンプレートは使用されていない(C:\SadaData\rails\kittakasample\app\views\takaga_travels\show.html.erb) ----------------------------------------------- クエリ形式でパラメータを渡す URL//localhost:3000/takaga_travels/show?sadaupper=97&sadalower=375 sadaupper = 97, sadalower = 375 URL//localhost:3000/takaga_travels/show?sadaupper=定近充始&sadalower=2015 sadaupper = 定近充始, sadalower = 2015 テンプレートは使用していない

Sunday,December,1,2013,2013

プログラムの表示

アプリケーション名「kittakasample」 コントローラ名「TakagaTravels」 コントローラの作成時にアクションも同時に作成 rails generate controller コントローラ名 アクション名1 アクション名2 ... rails generate controller TakagaTravels new show ↑コントローラ↑アク1↑アクション名2 C:\SadaData\rails\kittakasample>rails generate controller TakagaTravels new show コントローラーが作成された C:\SadaData\rails\kittakasample\app\controllers\takaga_travels_controller.rb ルーティングも自動追加される アプリケーションのルーティングに関する記述は「config/routes.rb」ファイルで行なう C:\SadaData\rails\kittakasample\config\routes.rb をさくらエディタで開いてみる Kittakasample::Application.routes.draw do get "takaga_travels/new" ↓コントロール名は「TakagaTravels」 get "takaga_travels/show"←ブラウザからアクセスする場合フォルダ名「takaga_travels」を指定してアクション・メソッド「show」を指定している get "hiraya_plans/src1" ↑URL://localhost:3000/takaga_travels/src1.html.erb get "hiraya_plans/src2" get "hiraya_plans/src3" get "hiraya_plans/src4" get "hiraya_plans/dest" get "yoshi_movies/index" get "ishi_photos/index" get "ishi_photos/kitshow" get "hiramemo/new" get "hiramemo/show" 以下に変更する Kittakasample::Application.routes.draw do get "takaga_travels/new" ↓コントロール名は「TakagaTravels」 get "takaga_travels/show/:id" => "takaga_travels#show" ←ブラウザからアクセスする場合フォルダ名「takaga_travels」を指定してアクション・メソッド「show」を指定している end get "hiraya_plans/src1" get "hiraya_plans/src2" ルーティングで加筆した意味は、ブラウザからアクセスが来たら URL://localhost:3000/takaga_travels/show/73 showメソッドを実行した時リクエストに含まれる「73」という値をパラメータ名「id」で取得せよという意味 「takaga_travels#show」 コントローラを設定する \SadaData\rails\kittakasample\app\controllers\takaga_travels_controller.rb が作成される。 app/controllers/takaga_travels_controller.rb をさくらエディタで開く class TakagaTravelsPlansController < ApplicationController def new end def show end 以下に書き変える 保存形式はUTF8 # coding: utf-8 class TakagaTravelsController < ApplicationController def new end def show render :text => "id = #{params[:id]}" #ルーティングを書き変えたことでURLの後ろに付いているパラメーター「73」を変数「id」で受け取ることが出来る end end 「kittakasample」アプリケーションを実行する アプリケーションの起動 ↓アプリ名[kittakasample] C:\SadaData\rails\kittakasample>rails server ブラウザからURLへアクセス URL://localhost:3000/takaga_travels/new 以下が表示される <h1>TakagaTravels#new</h1> Find me in app/views/takaga_travels/new.html.erb 今回の課題のパラメーターの値73リクエストする URL://localhost:3000/takaga_travels/show/73 以下が表示された id = 73 左上にひっそり表示された ブラウザからソースコード確認する、テンプレートは使用されていない、コントローラでの指示のみ 1| | | URL://localhost:3000/takaga_travels/show/定近 以下が表示された id = 定近 URL://localhost:3000/takaga_travels/show/sadachika 以下が表示された id = sadachika URL://localhost:3000/takaga_travels/show/2013 以下が表示された id = 2013 ================================================= パラメータが複数の場合 \SadaData\rails\kittakasample\app\controllers\takaga_travels_controller.rb # coding: utf-8 class TakagaTravelsController < ApplicationController def new end def show render :text => "sadaupper = #{params[:sadaupper]}, sadalower = #{params[:sadalower]}" #ルーティングを書き変えたことでURLの後ろに付いている複数のパラメーターの値を変数「sadaupper」「sadalower」で受け取ることが出来る end end ルーティングの設定を以下に変更する C:\SadaData\rails\kittakasample\config\routes.rb をさくらエディタで開いてみる Kittakasample::Application.routes.draw do get "takaga_travels/new" ↓コントロール名は「TakagaTravels」 get "takaga_travels/show/:sadaupper/:sadalower" => "takaga_travels#show" ←ブラウザからアクセスする場合フォルダ名「takaga_travels」を指定してアクション・メソッド「show」を指定している end get "hiraya_plans/src1" get "hiraya_plans/src2" 今回の課題の複数のパラメーターの値をリクエストする URL://localhost:3000/takaga_travels/show/82/56 以下が表示された sadaupper = 82, sadalower = 56 画面左上にひっそり URL://localhost:3000/takaga_travels/show/2014/定近 以下が表示された sadaupper = 2014, sadalower = 定近 画面左上にひっそり URL://localhost:3000/takaga_travels/show/sadachika/ATSUSHI 以下が表示された sadaupper = sadachika, sadalower = ATSUSHI 画面左上にひっそり ブラウザからソースコードを見る 1|sadaupper = sadachika, sadalower = ATSUSHI | | テンプレートは使用されていない(C:\SadaData\rails\kittakasample\app\views\takaga_travels\show.html.erb) さくらエディタで開いてみた

TakagaTravels#show

Find me in app/views/takaga_travels/show.html.erb

===================================== もうひといき クエリ形式でパラメータを渡す URL//localhost:3000/takaga_travels/show?sadaupper=97&sadalower=375 ルーティングの設定を以下に変更する C:\SadaData\rails\kittakasample\config\routes.rb をさくらエディタで開いてみる Kittakasample::Application.routes.draw do get "takaga_travels/new" ↓コントロール名は「TakagaTravels」 get "takaga_travels/show" => "takaga_travels#show" ←ブラウザからアクセスする場合フォルダ名「takaga_travels」を指定してアクション・メソッド「show」を指定している end get "hiraya_plans/src1" get "hiraya_plans/src2" パラメータがクエリ形式の場合(パラメータが複数の場合) コントローラはそのまま \SadaData\rails\kittakasample\app\controllers\takaga_travels_controller.rb # coding: utf-8 class TakagaTravelsController < ApplicationController def new end def show render :text => "sadaupper = #{params[:sadaupper]}, sadalower = #{params[:sadalower]}" #ルーティングを書き変えたことでURLの後ろに付いている複数のパラメーターの値を変数「sadaupper」「sadalower」で受け取ることが出来る end end ブラウザからアクセスしてみる URL//localhost:3000/takaga_travels/show?sadaupper=97&sadalower=375 以下が表示された sadaupper = 97, sadalower = 375 左上にひっそり テンプレートは使用していない URL//localhost:3000/takaga_travels/show?sadaupper=定近充始&sadalower=2015 以下が表示された sadaupper = 定近充始, sadalower = 2015 左上にひっそり テンプレートは使用していない =========================================== /////////////////////////////////////////// /////////////////////////////////////////// ここまでのおさらい Kittakasample/config/routes.rb を開いて確認する Kittakasample::Application.routes.draw do get "takaga_travels/new" get "takaga_travels/show/:id" => "takaga_travels#show" #ひとつのパラメーターの場合 get "takaga_travels/show/:_sada1" => "takaga_travels#show" #任意の名前に変更 get "takaga_travels/show/:sadaupper/:sadalower" => "takaga_travels#show" #複数のパラメーターの場合(2つ) get "takaga_travels/show" => "takaga_travels#show" #クエリ形式のパラメーターの場合(2つ) \SadaData\rails\kittakasample\app\controllers\takaga_travels_controller.rb を開いて確認する # coding: utf-8 class TakagaTravelsController < ApplicationController def new end def show render :text => "id = #{params[:id]}" #パラメータが1つ render :text => "パラメータが1つ「_sada1」 = #{params[:_sada1]}" #任意の名前に変更 render :text => "sadaupper = #{params[:sadaupper]}, sadalower = #{params[:sadalower]}" #パラメーターが複数(2つ) render :text => "sadaupper = #{params[:sadaupper]}, sadalower = #{params[:sadalower]}" #クエリ形式のパラメーターの場合(2つ) end end パラメータが1つの場合 URL://localhost:3000/takaga_travels/show/2014 複数のパラメーターの場合 URL://localhost:3000/takaga_travels/show/2014/定近 #クエリ形式のパラメーターの場合 URL//localhost:3000/takaga_travels/show?sadaupper=97&sadalower=375 /////////////////////////////////////////// /////////////////////////////////////////// =========================================== 以下はERRORでうまくいかない、次にすすむ


*↓ 参考にしたサイトは下記
こちら です。

これは赤色の文字例です。

これは青色の文字例です。