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

Rubyの学習 free224
ブラウザからパラメーターの値を受け取るためのルーティングの設定など

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

URL://localhost:3000/testdisp/絵画/4200

Sadachibooks#bosashow

Find me in app/views/sadachibooks/bosashow.html.erb コントローラが変数 sadatype へブラウザからパラメータの値を受け取った値は、 絵画 コントローラが変数 sadaprice へブラウザからパラメータの値を受け取った値は、 4200 URL://localhost:3000/testdisp/

Sadachibooks#bosashow

Find me in app/views/sadachibooks/bosashow.html.erb コントローラが変数 sadatype へブラウザからパラメータの値を受け取った値は、 パラメーラの値が未記入 コントローラが変数 sadaprice へブラウザからパラメータの値を受け取った値は、

Monday,December,2,2013

プログラムの表示

cd C:\SadaData\rails アプリケーションの作成 アプリケーション名 [sadachikasample2] rails new アプリケーション名 rails new sadachiinfo C:\SadaData\rails>rails new sadachikasample2 cd C:\SadaData\rails\sadachikasample2 コントローラーを作る「sadachibooks」 ↓アクション↓アクション rails generate controller sadachibooks index bosanew bosashow C:\SadaData\rails\sadachikasample2>rails generate controller sadachibooks index bosanew bosashow コントローラーを作る「sadachiinfo」 C:\SadaData\rails\sadachikasample2> rails generate controller sadachiinfo index insanew insashow config/routes.rbをさくらエディタで開く Sadachikasample2::Application.routes.draw do get "sadachiinfo/index" get "sadachiinfo/insanew" get "sadachiinfo/insashow" get "sadachibooks/index" get "sadachibooks/bosanew" get "sadachibooks/bosashow" end ビュー内にはファイルが作成された app/views/sadachibooks/bosanew.html.erb app/views/sadachibooks/bosashow.html.erb app/views/sadachibooks/index.html.erb app/views/sadachiinfo/insanew.html.erb app/views/sadachiinfo/insashow.html.erb app/views/sadachiinfo/index.html.erb 「sadachikasample2」アプリケーションを実行する アプリケーションの起動 ↓アプリ名[kittakasample] C:\SadaData\rails\sadachikasample2>rails server ブラウザからURLへアクセス URL://localhost:3000/sadachibooks/ ERROR URL://localhost:3000/sadachibooks/bosanew 表示された URL://localhost:3000/sadachibooks/bosashow 表示された URL://localhost:3000/sadachibooks/index 表示された URL://localhost:3000/sadachiinfo/ ERROR URL://localhost:3000/sadachiinfo/insanew 表示された URL://localhost:3000/sadachiinfo/insashow 表示された URL://localhost:3000/sadachiinfo/index 表示された 「URL://localhost:3000/hirayadisp」→「sadachibooks」コントローラの「bosashow」アクションを呼び出す場合 match 'hirayadisp' => 'sadachibooks#bosashow' #URL://localhost:3000/hirayadispで「sadachibooks」コントローラの「bosashow」アクションを呼び出す URL://localhost:3000/hirayadisp 「match」のままだとERROR、「get」にすると転送されて表示される 「URL://localhost:3000/hirayabook/hiradisp」→「sadachibooks」コントローラの「bosashow」アクションを呼び出す場合 match 'hirayabook/hiradisp' => 'sadachibooks#bosashow' #URL://localhost:3000/hirayabook/hiradisp →「sadachibooks」コントローラの「bosashow」アクションを呼び出す URL://localhost:3000/hirayabook/hiradisp 「match」のままだとERROR、「get」にすると転送されて表示される 「URL://localhost:3000/sadachibooks/bosashow」→「sadachibooks」コントローラの「bosashow」アクションを呼び出す場合 match 'sadachibooks/bosashow' => 'sadachibooks#bosashow' (デフォルトでの get "sadachibooks/bosashow" は削除してためしている) match 'sadachibooks/bosashow' 同じなので省略できる 「match」のままだとERROR、「get」にすると転送されて表示される /////////////////////////// 前回の復習 ○ルートへアクセスした場合に特定のアクションを実行させるには「root」メソッドを使って設定する config/routes.rbをさくらエディタで開く Sadachikasample2::Application.routes.draw do root :to => 'sadachibooks#bosashow' end 設定したルーティングの確認 rake routes C:\SadaData\rails\sadachikasample2>rake routes コマンドプロンプトには以下が表示される Prefix Verb URI Pattern Controller#Action root GET / sadachibooks#bosashow ブラウザからアクセス URL://localhost:3000/ 以下が表示される ビューに記載された内容が表示される <h1>Sadachibooks#bosashow</h1> Find me in app/views/sadachibooks/bosashow.html.erb ブラウザからのどんなアクセスでもビューファイルの表示に対応させる。 テストする時に向いている。 config/routes.rbをさくらエディタで開く Sadachikasample2::Application.routes.draw do match ':controller(/:action(/:id))(.:format)' end 「match」のままだとERROR、「get」にすると表示される ブラウザからURLへアクセス URL://localhost:3000/sadachibooks/ index.html.erb表示された URL://localhost:3000/sadachibooks/bosanew 表示された URL://localhost:3000/sadachibooks/bosashow 表示された URL://localhost:3000/sadachibooks/index 表示された URL://localhost:3000/sadachiinfo/ index.html.erb表示された URL://localhost:3000/sadachiinfo/insanew 表示された URL://localhost:3000/sadachiinfo/insashow 表示された URL://localhost:3000/sadachiinfo/index 表示された コントローラとアクションは必ず指定するようにしたい場合 カッコ内は省略できると言う意味 今回はカッコを1つ削除する config/routes.rbをさくらエディタで開く Sadachikasample2::Application.routes.draw do get ':controller/:action(/:id)(.:format)' end ブラウザからURLへアクセス URL://localhost:3000/sadachibooks/ 前回は表示されたが今回はアクションを指定していないのでERROR URL://localhost:3000/sadachibooks/bosanew 表示された URL://localhost:3000/sadachibooks/bosashow 表示された URL://localhost:3000/sadachibooks/index 表示された URL://localhost:3000/sadachiinfo/ 前回は表示されたが今回はアクションを指定していないのでERROR URL://localhost:3000/sadachiinfo/insanew 表示された URL://localhost:3000/sadachiinfo/insashow 表示された URL://localhost:3000/sadachiinfo/index 表示された パラメータの指定 get 'sadachidisp/:sadatype' => 'sadachibooks#bosashow' get 'sadachidisp/:sadatype/:sadaprice' => 'sadachibooks#bosashow' get 'sadachidisp(/:sadatype(/:sadaprice))' => 'sadachibooks#bosashow', :defaults => {:sadatype => 'sadanovel'} #カッコは省略可能で右側はパラメータの値が空の場合のデフォルト値 ○ルーティングの設定(config/routes.rb) Sadachikasample2::Application.routes.draw do get 'testdisp(/:sadatype(/:sadaprice))' => 'sadachibooks#bosashow', :defaults => {:sadatype => 'sadanovel'} #「ブラウザからURL://localhost:3000/testdisp/絵画/4200とアクセスするとコントローラsadachibooksのアクションbosashowへ転送される処理」 #「パラメータの値が空の場合はsadanovelとして格納する」 end ○コントローラでの処理 class SadachibooksController < ApplicationController def index end def bosanew end def bosashow #アクション「bosashow」の処置内容をビューへ転送 @sadatype = params[:sadatype] #コントローラがブラウザからのパラメータの値を変数に格納している処置内容 @sadaprice = params[:sadaprice] #コントローラがブラウザからのパラメータの値を変数に格納している処置内容 end end ○コントローラで処理した変数をビューで出力、ファイルの保存はUTF8 # coding: utf-8 <h1>Sadachibooks#bosashow</h1> <p>Find me in app/views/sadachibooks/bosashow.html.erb</p> <p>コントローラが変数 sadatype へブラウザからパラメータの値を受け取った値は、 <%= @sadatype %></p> <p>コントローラが変数 sadaprice へブラウザからパラメータの値を受け取った値は、 <%= @sadaprice %></p> ブラウザからアクセスしてみる URL://localhost:3000/testdisp/絵画/4200 <h1>Sadachibooks#bosashow</h1> Find me in app/views/sadachibooks/bosashow.html.erb コントローラが変数 sadatype へブラウザからパラメータの値を受け取った値は、 絵画 コントローラが変数 sadaprice へブラウザからパラメータの値を受け取った値は、 4200 パラメータを空にしてアクセスしてみる URL://localhost:3000/testdisp/ <h1>Sadachibooks#bosashow</h1> Find me in app/views/sadachibooks/bosashow.html.erb コントローラが変数 sadatype へブラウザからパラメータの値を受け取った値は、 sadanovel コントローラが変数 sadaprice へブラウザからパラメータの値を受け取った値は、 ○ルーティングの設定(config/routes.rb)パラメータの値が空の場合に返す値を日本語にしてみた、ファイルの保存はUTF8 # coding: utf-8 Sadachikasample2::Application.routes.draw do get 'testdisp(/:sadatype(/:sadaprice))' => 'sadachibooks#bosashow', :defaults => {:sadatype => 'パラメーラの値が未記入'} #「ブラウザからURL://localhost:3000/testdisp/絵画/4200とアクセスするとコントローラsadachibooksのアクションbosashowへ転送される処理」 #「パラメータの値が空の場合はsadanovelとして格納する」 end パラメータを空にしてアクセスしてみる URL://localhost:3000/testdisp/ <h1>Sadachibooks#bosashow</h1> Find me in app/views/sadachibooks/bosashow.html.erb コントローラが変数 sadatype へブラウザからパラメータの値を受け取った値は、パラメーラの値が未記入 コントローラが変数 sadaprice へブラウザからパラメータの値を受け取った値は、


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

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

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