Merge branch 'master' of github.com:lifo/docrails

This commit is contained in:
Vijay Dev 2013-01-01 20:29:43 +05:30
commit dfc930b2b1
6 changed files with 50 additions and 8 deletions

View File

@ -80,16 +80,29 @@ module ActiveSupport
end
alias_method :getlocal, :localtime
# Returns true if the current time is within Daylight Savings Time for the
# specified time zone.
#
# Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
# Time.zone.parse("2012-5-30").dst? # => true
# Time.zone.parse("2012-11-30").dst? # => false
def dst?
period.dst?
end
alias_method :isdst, :dst?
# Returns true if the current time zone is set to UTC.
#
# Time.zone = 'UTC' # => 'UTC'
# Time.zone.now.utc? # => true
# Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
# Time.zone.now.utc? # => false
def utc?
time_zone.name == 'UTC'
end
alias_method :gmt?, :utc?
# Returns the offset from current time to UTC time in seconds.
def utc_offset
period.utc_total_offset
end
@ -147,10 +160,18 @@ module ActiveSupport
end
end
# Returns a string of the object's date and time in the format used by
# HTTP requests.
#
# Time.zone.now.httpdate # => "Tue, 01 Jan 2013 04:39:43 GMT"
def httpdate
utc.httpdate
end
# Returns a string of the object's date and time in the RFC 2822 standard
# format.
#
# Time.zone.now.rfc2822 # => "Tue, 01 Jan 2013 04:51:39 +0000"
def rfc2822
to_s(:rfc822)
end

View File

@ -1,7 +1,7 @@
Form Helpers
============
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup. However, since they have different use-cases, developers are required to know all the differences between similar helper methods before putting them to use.
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails does away with these complexities by providing view helpers for generating form markup. However, since they have different use-cases, developers are required to know all the differences between similar helper methods before putting them to use.
After reading this guide, you will know:
@ -148,7 +148,9 @@ Output:
As with `check_box_tag`, the second parameter to `radio_button_tag` is the value of the input. Because these two radio buttons share the same name (age) the user will only be able to select one, and `params[:age]` will contain either "child" or "adult".
NOTE: Always use labels for checkbox and radio buttons. They associate text with a specific option and make it easier for users to click the inputs by expanding the clickable region.
NOTE: Always use labels for checkbox and radio buttons. They associate text with a specific option and,
by expanding the clickable region,
make it easier for users to click the inputs.
### Other Helpers of Interest
@ -534,7 +536,7 @@ The `:prefix` option is the key used to retrieve the hash of date components fro
### Model Object Helpers
`select_date` does not work well with forms that update or create Active Record objects as Active Record expects each element of the `params` hash to correspond to one attribute.
The model object helpers for dates and times submit parameters with special names, when Active Record sees parameters with such names it knows they must be combined with the other parameters and given to a constructor appropriate to the column type. For example:
The model object helpers for dates and times submit parameters with special names; when Active Record sees parameters with such names it knows they must be combined with the other parameters and given to a constructor appropriate to the column type. For example:
```erb
<%= date_select :person, :birth_date %>
@ -620,7 +622,7 @@ Unlike other forms making an asynchronous file upload form is not as simple as p
Customizing Form Builders
-------------------------
As mentioned previously the object yielded by `form_for` and `fields_for` is an instance of FormBuilder (or a subclass thereof). Form builders encapsulate the notion of displaying form elements for a single object. While you can of course write helpers for your forms in the usual way you can also subclass FormBuilder and add the helpers there. For example
As mentioned previously the object yielded by `form_for` and `fields_for` is an instance of FormBuilder (or a subclass thereof). Form builders encapsulate the notion of displaying form elements for a single object. While you can of course write helpers for your forms in the usual way, you can also subclass FormBuilder and add the helpers there. For example
```erb
<%= form_for @person do |f| %>
@ -805,7 +807,7 @@ Sometimes when you submit data to an external resource, like payment gateway, fi
<% end %>
```
The same technique is available for the `form_for` too:
The same technique is also available for `form_for`:
```erb
<%= form_for @invoice, url: external_url, authenticity_token: 'external_token' do |f| %>

View File

@ -782,7 +782,7 @@ To include `app/assets/stylesheets/main.css` and `app/assets/stylesheets/columns
To include `app/assets/stylesheets/main.css` and `app/assets/stylesheets/photos/columns.css`:
```erb
<%= stylesheet_link_tag "main", "/photos/columns" %>
<%= stylesheet_link_tag "main", "photos/columns" %>
```
To include `http://example.com/main.css`:

View File

@ -202,6 +202,25 @@ end
This migration will create a `user_id` column and appropriate index.
There is also a generator which will produce join tables if `JoinTable` is part of the name:
```bash
rails g migration CreateJoinTableCustomerProduct customer product
```
will produce the following migration:
```ruby
class CreateJoinTableCustomerProduct < ActiveRecord::Migration
def change
create_join_table :customers, :products do |t|
# t.index [:customer_id, :product_id]
# t.index [:product_id, :customer_id]
end
end
end
```
### Model Generators
The model and scaffold generators will create migrations appropriate for adding

View File

@ -229,7 +229,7 @@ Much of Action Controller's functionality is implemented as Middlewares. The fol
**`Rack::Lock`**
* Sets `env["rack.multithread"]` flag to `true` and wraps the application within a Mutex.
* Sets `env["rack.multithread"]` flag to `false` and wraps the application within a Mutex.
**`ActiveSupport::Cache::Strategy::LocalCache::Middleware`**

View File

@ -830,7 +830,7 @@ Above, the `setup` method is called before each test and so `@post` is available
Let's see the earlier example by specifying `setup` callback by specifying a method name as a symbol:
```ruby
require '../test_helper'
require 'test_helper'
class PostsControllerTest < ActionController::TestCase