Permalink
Browse files

Docfixes (closes #11356, #11172, #10523)

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9064 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent e87d3e3 commit 54213dadfde64e163d841056238b3c463aaa4212 @dhh dhh committed Mar 20, 2008
@@ -53,6 +53,21 @@ module Helpers
# <option value="2">Sam</option>
# <option value="3">Tobias</option>
# </select>
+ #
+ # Like the other form helpers, +select+ can accept an <tt>:index</tt> option to manually set the ID used in the resulting output. Unlike other helpers, +select+ expects this
+ # option to be in the +html_options+ parameter.
+ #
+ # Example:
+ #
+ # select("album[]", "genre", %w[rap rock country], {}, { :index => nil })
+ #
+ # becomes:
+ #
+ # <select name="album[][genre]" id="album__genre">
+ # <option value="rap">rap</option>
+ # <option value="rock">rock</option>
+ # <option value="country">country</option>
+ # </select>
module FormOptionsHelper
include ERB::Util
@@ -31,6 +31,7 @@ class FormOptionsHelperTest < Test::Unit::TestCase
Continent = Struct.new('Continent', :continent_name, :countries)
Country = Struct.new('Country', :country_id, :country_name)
Firm = Struct.new('Firm', :time_zone)
+ Album = Struct.new('Album', :id, :title, :genre)
end
def test_collection_options
@@ -305,6 +306,18 @@ def test_select_with_selected_value
select("post", "category", %w( abe <mus> hest ), :selected => 'abe')
)
end
+
+ def test_select_with_index_option
+ @album = Album.new
+ @album.id = 1
+
+ expected = "<select id=\"album__genre\" name=\"album[][genre]\"><option value=\"rap\">rap</option>\n<option value=\"rock\">rock</option>\n<option value=\"country\">country</option></select>"
+
+ assert_dom_equal(
+ expected,
+ select("album[]", "genre", %w[rap rock country], {}, { :index => nil })
+ )
+ end
def test_select_with_selected_nil
@post = Post.new
@@ -809,6 +809,8 @@ def has_one(association_id, options = {})
# destroyed. This requires that a column named <tt>#{table_name}_count</tt> (such as +comments_count+ for a belonging +Comment+ class)
# is used on the associate class (such as a +Post+ class). You can also specify a custom counter cache column by providing
# a column name instead of a +true+/+false+ value to this option (e.g., <tt>:counter_cache => :my_custom_counter</tt>.)
+ # When creating a counter cache column, the database statement or migration must specify a default value of <tt>0</tt>, failing to do
+ # this results in a counter with NULL value, which will never increment.
# Note: Specifying a counter_cache will add it to that model's list of readonly attributes using #attr_readonly.
# * <tt>:include</tt> - specify second-order associations that should be eager loaded when this object is loaded.
# Not allowed if the association is polymorphic.
@@ -824,6 +826,7 @@ def has_one(association_id, options = {})
# :conditions => 'discounts > #{payments_count}'
# belongs_to :attachable, :polymorphic => true
# belongs_to :project, :readonly => true
+ # belongs_to :post, :counter_cache => true
def belongs_to(association_id, options = {})
reflection = create_belongs_to_reflection(association_id, options)
View
@@ -31,7 +31,7 @@ link:files/vendor/rails/actionpack/README.html.
and your application name. Ex: rails myapp
(If you've downloaded Rails in a complete tgz or zip, this step is already done)
2. Change directory into myapp and start the web server: <tt>script/server</tt> (run with --help for options)
-3. Go to http://localhost:3000/ and get "Welcome aboard: Youre riding the Rails!"
+3. Go to http://localhost:3000/ and get "Welcome aboard: You're riding the Rails!"
4. Follow the guidelines to start developing your application

0 comments on commit 54213da

Please sign in to comment.