確認画面を作ってみた

http://kurobox.dnsalias.net/weblog/?p=29を見よう見まねで、確認画面を作ってみた。

お約束どおり、プロジェクトの作成

Welcome to the Rails Shell. This view is meant for advanced users and command line lovers as a text-based way
to run rails commands such as: rails, script/generate, script/plugin, gem, rake, etc.
This shell can replace the functionality of the Rake Tasks, Rails Plugins, and generators views.

>rails confirm_demo
      exists  
      create  app/controllers
      create  app/helpers
      create  app/models
【中略】
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log

RadRails on Eclipseからやってみました。

コントローラの作成

>cd  confirm_demo
Switched current working project to confirm_demo
>ruby script/generate controller Disp
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/disp
      exists  test/functional/
      create  test/unit/helpers/
      create  app/controllers/disp_controller.rb
      create  test/functional/disp_controller_test.rb
      create  app/helpers/disp_helper.rb
      create  test/unit/helpers/disp_helper_test.rb

DispコントローラにはhelloRailsとconfirmの2つのアクションを作る。

  • confirm_demo/app/controllers/disp_controller.rb
class DispController < ApplicationController
  def helloRails
  end

  def confirm
    @text1 = params[:member][:name]
    @text2 = params[:member][:addr]
  end
end

入力画面のビューの作成

  • confirm_demo/app/views/helloRails.html.erb
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
		<title>Railsによるフォームサンプル</title>
	</head>
	<body>
		<h1> お問い合わせフォームサンプル </h1>
		<% form_for :member, :url => {:controller => 'disp',:action => 'confirm' }  do |f|  %>
			名前:<%= f.text_field :name %><br/>
			住所:<%= f.text_field :addr %><br/>
			<br/>
			<%= f.submit '送信' %>
		<%end%>
	</body>
</html>

確認画面のビューの作成

  • confirm_demo/app/views/confirm.html.erb
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Railsによるフォームサンプル</title>
	</head>
	<body>
		<h1> お問い合わせフォームサンプル </h1>
		<br/>
		入力した名前:<%= h @text1 %><br/>
		入力した住所:<%= h @text2 %><br/>
		<br/>
		<%= link_to '戻る', :controller => 'disp', :action => 'helloRails' %>
	</body>
</html>

#h()を付けてサニタイズ対策してみた。

動かす

CUIでやってる人はお約束どおり、

$ ruby script/server

しましょうw

#DBへの登録画面作ろうっと