mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge branch 'master' of github.com:lifo/docrails
This commit is contained in:
commit
dfc930b2b1
6 changed files with 50 additions and 8 deletions
|
@ -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
|
||||
|
|
|
@ -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| %>
|
||||
|
|
|
@ -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`:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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`**
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue