Agile Web Development with Rails, Edition 4
Agile Web Development with Rails, Edition 4
22 Caching
21.1 Views
21.2 Form Helpers
bundle exec /home/rubys/git/rails/bin/rails new views --skip-bundle --dev
create
create README
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/mailers
create app/models
create app/views/layouts/application.html.erb
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/secret_token.rb
create config/initializers/session_store.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create config/database.yml
create db
create db/seeds.rb
create doc
create doc/README_FOR_APP
create lib
create lib/tasks
create lib/tasks/.gitkeep
create log
create log/server.log
create log/production.log
create log/development.log
create log/test.log
create public
create public/404.html
create public/422.html
create public/500.html
create public/favicon.ico
create public/index.html
create public/robots.txt
create public/images
create public/images/rails.png
create public/stylesheets
create public/stylesheets/.gitkeep
create public/javascripts
create public/javascripts/application.js
create public/javascripts/controls.js
create public/javascripts/dragdrop.js
create public/javascripts/effects.js
create public/javascripts/prototype.js
create public/javascripts/rails.js
create script
create script/rails
create test
create test/fixtures
create test/functional
create test/integration
create test/performance/browsing_test.rb
create test/test_helper.rb
create test/unit
create tmp
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create vendor/plugins
create vendor/plugins/.gitkeep
bundle install
Using rake (0.9.2.2)
Using abstract (1.0.0)
Using activesupport (3.0.15)
Using builder (2.1.2)
Using i18n (0.5.0)
Using activemodel (3.0.15)
Using erubis (2.6.6)
Using rack (1.2.5)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.33)
Using actionpack (3.0.15)
Using mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.2.19)
Using actionmailer (3.0.15)
Using arel (2.0.10)
Using activerecord (3.0.15)
Using activeresource (3.0.15)
Using bundler (1.1.3)
Using json (1.7.3)
Using rdoc (3.12)
Using thor (0.14.6)
Using railties (3.0.15)
Using rails (3.0.15)
Using sqlite3 (1.3.6)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
rails generate model model input:string address:text color:string ketchup:boolean mustard:boolean mayonnaise:boolean start:date alarm:time
invoke active_record
create db/migrate/20120629163743_create_models.rb
create app/models/model.rb
invoke test_unit
create test/unit/model_test.rb
create test/fixtures/models.yml
rails generate controller Form input
create app/controllers/form_controller.rb
route get "form/input"
invoke erb
create app/views/form
create app/views/form/input.html.erb
invoke test_unit
create test/functional/form_controller_test.rb
invoke helper
create app/helpers/form_helper.rb
invoke test_unit
create test/unit/helpers/form_helper_test.rb
rake db:migrate
mv 20120629163743_create_models.rb 20110711000001_create_models.rb
== CreateModels: migrating ===================================================
-- create_table(:models)
-> 0.0047s
== CreateModels: migrated (0.0049s) ==========================================
Restart the server.
edit app/views/form/input.html.erb
<%= form_for(:model) do |form| %>
<p>
<%= form.label :input %> <!-- <label id="helper.label"/> -->
<%= form.text_field :input, :placeholder => 'Enter text here...' %> <!-- <label id="helper.text"/> -->
</p>
<p>
<%= form.label :address, :style => 'float: left' %>
<%= form.text_area :address, :rows => 3, :cols => 40 %> <!-- <label id="helper.textarea"/> -->
</p>
<p>
<%= form.label :color %>:
<%= form.radio_button :color, 'red' %> <!-- <label id="helper.radio"/> -->
<%= form.label :red %>
<%= form.radio_button :color, 'yellow' %>
<%= form.label :yellow %>
<%= form.radio_button :color, 'green' %>
<%= form.label :green %>
</p>
<p>
<%= form.label 'condiment' %>:
<%= form.check_box :ketchup %> <!-- <label id="helper.checkbox"/> -->
<%= form.label :ketchup %>
<%= form.check_box :mustard %>
<%= form.label :mustard %>
<%= form.check_box :mayonnaise %>
<%= form.label :mayonnaise %>
</p>
<p>
<%= form.label :priority %>:
<%= form.select :priority, (1..10) %> <!-- <label id="helper.select"/> -->
</p>
<p>
<%= form.label :start %>:
<%= form.date_select :start %> <!-- <label id="helper.date"/> -->
</p>
<p>
<%= form.label :alarm %>:
<%= form.time_select :alarm %> <!-- <label id="helper.time"/> -->
</p>
<% end %>
get /form/input
22 Caching
21.1 Views