Ruby/Rails/Model
Материал из Wiki.crossplatform.ru
Initialize Data in an HTML Control
File: controllers\hello_controller.rb
class HelloController < ApplicationController
def there
@data_hash = params[:cruncher]
@cruncher = Cruncher.new(@data_hash[:crunch])
@data = @cruncher.crunch
end
def input
@cruncher = Cruncher.new("AAA")
end
end
File: app\models\cruncher.rb
class Cruncher
attr_reader :crunch
attr_writer :crunch
def initialize(data)
@crunch = data
end
end
File: app\views\hello\input.rhtml
<html>
<head>
<title>Using Text Fields</title>
</head>
<body>
<h1>Working With Text Fields</h1>
This Ruby on Rails application lets you read data from text fields.
<br>
<%= form_tag ({:action => "there"}, {:method => "post"}) %>
Please enter your name.
<br>
<%= text_field ("cruncher", "crunch", {"size" => 30}) %>
<br>
<br>
<input type="submit"/>
<%= form_tag %>
</body>
</html>
File: app\views\hello\there.rhtml
<html>
<head>
<title>Using HTML Control Shortcuts</title>
</head>
<body>
<h1>Using HTML Control Shortcuts</h1>
This application uses Rails HTML control shortcuts.
<br>
<br>
Your name is <%= @data %>.
<br>
<br>
</body>
</html>
Start the WEBrick server: ruby script/server
http://localhost:3000/hello/input
<A href="http://www.crossplatform.ru/Code/RubyDownload/initializeDataHTMLControl.zip">initializeDataHTMLControl.zip( 93 k)</a>
Tie a Text Field to a Model
File: controllers\hello_controller.rb
class HelloController < ApplicationController
def there
@data_hash = params[:cruncher]
@cruncher = Cruncher.new(@data_hash[:crunch])
@data = @cruncher.crunch
end
def input
end
end
File: app\models\cruncher.rb
class Cruncher
attr_reader :crunch
attr_writer :crunch
def initialize(data)
@crunch = data
end
end
File: app\views\hello\input.rhtml
<html>
<head>
<title>Using Text Fields</title>
</head>
<body>
<h1>Working With Text Fields</h1>
This Ruby on Rails application lets you read data from text fields.
<br>
<%= form_tag ({:action => "there"}, {:method => "post"}) %>
Please enter your name.
<br>
<%= text_field ("cruncher", "crunch", {"size" => 30}) %>
<br>
<br>
<input type="submit"/>
<%= form_tag %>
</body>
</html>
File: app\views\hello\there.rhtml
<html>
<head>
<title>Using HTML Control Shortcuts</title>
</head>
<body>
<h1>Using HTML Control Shortcuts</h1>
This application uses Rails HTML control shortcuts.
<br>
<br>
Your name is <%= @data %>.
<br>
<br>
</body>
</html>
Start the WEBrick server: ruby script/server
http://localhost:3000/hello/input
<A href="http://www.crossplatform.ru/Code/RubyDownload/tieTextFieldModel.zip">tieTextFieldModel.zip( 92 k)</a>
Working with Models
File: app\models\cruncher.rb
class Cruncher
def crunch
return 5
end
end
File: app\controllers\hello_controller.rb
class HelloController < ApplicationController
def there
@cruncher = Cruncher.new
@data = @cruncher.crunch
end
end
File: app\views\hello\there.rhtml:
<html>
<head>
<title>Using Models</title>
</head>
<body>
<h1>Working With Models</h1>
This application fetches data from a model.
<br>
<br>
The fetched data is: <%= @data %>.
<br>
<br>
</body>
</html>
Start the WEBrick server: ruby script/server
Navigate to http://localhost:3000/hello/there
<A href="http://www.crossplatform.ru/Code/RubyDownload/workWithModel.zip">workWithModel.zip( 90 k)</a>
