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>