From 0da0aa4cd9fc5f9d02a6afd78115551b4485dcb9 Mon Sep 17 00:00:00 2001 From: Rajinder Yadav Date: Sun, 3 Oct 2010 20:41:56 -0400 Subject: [PATCH 01/12] corrected wording for better reading, fixed ugly intented quote by using code tags --- railties/guides/source/form_helpers.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/railties/guides/source/form_helpers.textile b/railties/guides/source/form_helpers.textile index ce0f66b2c1..b795d126e6 100644 --- a/railties/guides/source/form_helpers.textile +++ b/railties/guides/source/form_helpers.textile @@ -67,7 +67,7 @@ A basic search form <% end %> -TIP: +search_path+ can be a named route specified in "routes.rb":
map.search "search", :controller => "search" +TIP: +search_path+ can be a named route specified in "routes.rb" as:
match "search" => "search"This declares for path "/search" to call action "search" from controller "search". The above view code will result in the following markup: From 018bf0f5756ef3887815ea46d6671dc1d3b526cf Mon Sep 17 00:00:00 2001 From: Rajinder Yadav Date: Mon, 4 Oct 2010 00:02:09 -0400 Subject: [PATCH 02/12] added more items to the set to improve explanation of validates_exclusion_of --- .../guides/source/active_record_validations_callbacks.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/railties/guides/source/active_record_validations_callbacks.textile b/railties/guides/source/active_record_validations_callbacks.textile index a8ccfc7e40..a9d66c0a06 100644 --- a/railties/guides/source/active_record_validations_callbacks.textile +++ b/railties/guides/source/active_record_validations_callbacks.textile @@ -235,7 +235,7 @@ This helper validates that the attributes' values are not included in a given se class Account < ActiveRecord::Base - validates_exclusion_of :subdomain, :in => %w(www), + validates_exclusion_of :subdomain, :in => %w(www us ca jp), :message => "Subdomain %{value} is reserved." end From a18cefbc3a9a025a076a0f5e18f6b9991e7df8e3 Mon Sep 17 00:00:00 2001 From: Nick Quaranto Date: Thu, 14 Oct 2010 17:24:59 -0400 Subject: [PATCH 03/12] Fixing a small typo in the generators guide --- railties/guides/source/generators.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/railties/guides/source/generators.textile b/railties/guides/source/generators.textile index b1f8ea29da..0f2cbb76dc 100644 --- a/railties/guides/source/generators.textile +++ b/railties/guides/source/generators.textile @@ -144,7 +144,7 @@ generators/initializer_generator.rb If none is found you get an error message. -INFO: The examples above put files under the application's +lib+ because said directoty belongs to +$LOAD_PATH+. +INFO: The examples above put files under the application's +lib+ because said directory belongs to +$LOAD_PATH+. h3. Customizing Your Workflow From 8be96a3bcf1a21bac38437512cac10ac9c1f952f Mon Sep 17 00:00:00 2001 From: Neil Middleton Date: Thu, 14 Oct 2010 23:11:34 +0100 Subject: [PATCH 04/12] Fixed casing of JavaScript (and RJS) [#183 state:resolved] --- .../guides/source/layouts_and_rendering.textile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/railties/guides/source/layouts_and_rendering.textile b/railties/guides/source/layouts_and_rendering.textile index 50c5986a64..088e1f817c 100644 --- a/railties/guides/source/layouts_and_rendering.textile +++ b/railties/guides/source/layouts_and_rendering.textile @@ -90,7 +90,7 @@ If we want to display the properties of all the books in our view, we can do so <%= link_to 'New book', new_book_path %> -NOTE: The actual rendering is done by subclasses of +ActionView::TemplateHandlers+. This guide does not dig into that process, but it's important to know that the file extension on your view controls the choice of template handler. In Rails 2, the standard extensions are +.erb+ for ERB (HTML with embedded Ruby), +.rjs+ for RJS (javascript with embedded ruby) and +.builder+ for Builder (XML generator). +NOTE: The actual rendering is done by subclasses of +ActionView::TemplateHandlers+. This guide does not dig into that process, but it's important to know that the file extension on your view controls the choice of template handler. In Rails 2, the standard extensions are +.erb+ for ERB (HTML with embedded Ruby), +.rjs+ for RJS (JavaScript with embedded ruby) and +.builder+ for Builder (XML generator). h4. Using +render+ @@ -252,7 +252,7 @@ render :inline => h5. Using +render+ with +:update+ -You can also render javascript-based page updates inline using the +:update+ option to +render+: +You can also render JavaScript-based page updates inline using the +:update+ option to +render+: render :update do |page| @@ -260,7 +260,7 @@ render :update do |page| end -WARNING: Placing javascript updates in your controller may seem to streamline small updates, but it defeats the MVC orientation of Rails and will make it harder for other developers to follow the logic of your project. We recommend using a separate rjs template instead, no matter how small the update. +WARNING: Placing JavaScript updates in your controller may seem to streamline small updates, but it defeats the MVC orientation of Rails and will make it harder for other developers to follow the logic of your project. We recommend using a separate RJS template instead, no matter how small the update. h5. Rendering Text @@ -276,7 +276,7 @@ NOTE: By default, if you use the +:text+ option, the text is rendered without us h5. Rendering JSON -JSON is a javascript data format used by many AJAX libraries. Rails has built-in support for converting objects to JSON and rendering that JSON back to the browser: +JSON is a JavaScript data format used by many AJAX libraries. Rails has built-in support for converting objects to JSON and rendering that JSON back to the browser: render :json => @product @@ -655,7 +655,7 @@ I'll discuss each of these in turn. h4. Asset Tags -Asset tags provide methods for generating HTML that links views to assets like images, videos, audio, javascript, stylesheets, and feeds. There are six types of include tag: +Asset tags provide methods for generating HTML that links views to assets like images, videos, audio, JavaScript, stylesheets, and feeds. There are six types of include tag: * +auto_discovery_link_tag+ * +javascript_include_tag+ @@ -715,7 +715,7 @@ The +defaults+ option loads the Prototype and Scriptaculous libraries: <%= javascript_include_tag :defaults %> -The +all+ option loads every javascript file in +public/javascripts+, starting with the Prototype and Scriptaculous libraries: +The +all+ option loads every JavaScript file in +public/javascripts+, starting with the Prototype and Scriptaculous libraries: <%= javascript_include_tag :all %> @@ -727,7 +727,7 @@ You can supply the +:recursive+ option to load files in subfolders of +public/ja <%= javascript_include_tag :all, :recursive => true %> -If you're loading multiple javascript files, you can create a better user experience by combining multiple files into a single download. To make this happen in production, specify +:cache => true+ in your +javascript_include_tag+: +If you're loading multiple JavaScript files, you can create a better user experience by combining multiple files into a single download. To make this happen in production, specify +:cache => true+ in your +javascript_include_tag+: <%= javascript_include_tag "main", "columns", :cache => true %> @@ -962,7 +962,7 @@ The result of rendering this page into the supplied layout would be this HTML: -The +content_for+ method is very helpful when your layout contains distinct regions such as sidebars and footers that should get their own blocks of content inserted. It's also useful for inserting tags that load page-specific javascript or css files into the header of an otherwise generic layout. +The +content_for+ method is very helpful when your layout contains distinct regions such as sidebars and footers that should get their own blocks of content inserted. It's also useful for inserting tags that load page-specific JavaScript or css files into the header of an otherwise generic layout. h4. Using Partials From ebe61bf37c174a98019225d4aa227c6d45e69a59 Mon Sep 17 00:00:00 2001 From: Rob Zolkos Date: Fri, 15 Oct 2010 21:40:32 +1100 Subject: [PATCH 05/12] WEBrick is the default web server, not Mongrel [#186 state:resolved] --- railties/guides/source/getting_started.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/railties/guides/source/getting_started.textile b/railties/guides/source/getting_started.textile index 42b3313752..3f433c9704 100644 --- a/railties/guides/source/getting_started.textile +++ b/railties/guides/source/getting_started.textile @@ -282,7 +282,7 @@ You actually have a functional Rails application already. To see it, you need to $ rails server -This will fire up an instance of the Mongrel web server by default (Rails can also use several other web servers). To see your application in action, open a browser window and navigate to "http://localhost:3000":http://localhost:3000. You should see Rails' default information page: +This will fire up an instance of the WEBrick web server by default (Rails can also use several other web servers). To see your application in action, open a browser window and navigate to "http://localhost:3000":http://localhost:3000. You should see Rails' default information page: !images/rails_welcome.png(Welcome Aboard screenshot)! From cffae06a4f1b7aac86a7e99cfb244890f837f976 Mon Sep 17 00:00:00 2001 From: Rob Zolkos Date: Fri, 15 Oct 2010 23:38:31 +1100 Subject: [PATCH 06/12] remove Mongrel from debugger docs --- railties/guides/source/debugging_rails_applications.textile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/railties/guides/source/debugging_rails_applications.textile b/railties/guides/source/debugging_rails_applications.textile index 35069f33ad..b9d45fb13a 100644 --- a/railties/guides/source/debugging_rails_applications.textile +++ b/railties/guides/source/debugging_rails_applications.textile @@ -250,7 +250,7 @@ Make sure you have started your web server with the option +--debugger+: ~/PathTo/rails_project$ rails server --debugger -=> Booting Mongrel (use 'rails server webrick' to force WEBrick) +=> Booting WEBrick => Rails 3.0.0 application starting on http://0.0.0.0:3000 => Debugger enabled ... @@ -258,8 +258,6 @@ Make sure you have started your web server with the option +--debugger+: TIP: In development mode, you can dynamically +require \'ruby-debug\'+ instead of restarting the server, if it was started without +--debugger+. -In order to use Rails debugging you'll need to be running either *WEBrick* or *Mongrel*. For the moment, no alternative servers are supported. - h4. The Shell As soon as your application calls the +debugger+ method, the debugger will be started in a debugger shell inside the terminal window where you launched your application server, and you will be placed at ruby-debug's prompt +(rdb:n)+. The _n_ is the thread number. The prompt will also show you the next line of code that is waiting to run. From 410ef3818ff96d2fa69e305b0b741f1ddd192e61 Mon Sep 17 00:00:00 2001 From: Rajinder Yadav Date: Fri, 15 Oct 2010 22:23:11 -0400 Subject: [PATCH 07/12] added ignore rule for linux temp file ending with a tilda ~ --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2dfdf96e7f..4460c3d393 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*~ *.gem pkg .bundle From 964033f35124bf9fc9bba0b4cd5c5cd176882902 Mon Sep 17 00:00:00 2001 From: Xavier Noria Date: Sat, 16 Oct 2010 18:44:24 +0200 Subject: [PATCH 08/12] Revert "added ignore rule for linux temp file ending with a tilda ~" This reverts commit 410ef3818ff96d2fa69e305b0b741f1ddd192e61. Reason: docrails has a very strict docs-only policy. --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4460c3d393..2dfdf96e7f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -*~ *.gem pkg .bundle From a38e653a6d512de3d22137cebc239d51f2513502 Mon Sep 17 00:00:00 2001 From: Neeraj Singh Date: Tue, 27 Apr 2010 21:55:24 -0400 Subject: [PATCH 09/12] json_escape makes json invalid doc change [#1485 state:resolved] --- .../lib/active_support/core_ext/string/output_safety.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/activesupport/lib/active_support/core_ext/string/output_safety.rb b/activesupport/lib/active_support/core_ext/string/output_safety.rb index b53929c2a3..e6f13ec12a 100644 --- a/activesupport/lib/active_support/core_ext/string/output_safety.rb +++ b/activesupport/lib/active_support/core_ext/string/output_safety.rb @@ -35,10 +35,16 @@ class ERB # A utility method for escaping HTML entities in JSON strings. # This method is also aliased as j. # + # Note that after this operation is performed the output is not + # a valid JSON. + # # In your ERb templates, use this method to escape any HTML entities: # <%=j @person.to_json %> # # ==== Example: + # puts json_escape("{\"name\":\"john\",\"created_at\":\"2010-04-28T01:39:31Z\",\"id\":1}") + # # => {name:john,created_at:2010-04-28T01:39:31Z,id:1} + # # puts json_escape("is a > 0 & a < 10?") # # => is a \u003E 0 \u0026 a \u003C 10? def json_escape(s) From 40398a1f47e4fd83c4b5c4346c8ba9685bb0bd2d Mon Sep 17 00:00:00 2001 From: Aditya Sanghi Date: Sun, 17 Oct 2010 02:08:15 +0530 Subject: [PATCH 10/12] The deleted examples are redundant. They do not reveal anything new that is not already been explained in preceding example. --- actionpack/lib/action_view/helpers/date_helper.rb | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/actionpack/lib/action_view/helpers/date_helper.rb b/actionpack/lib/action_view/helpers/date_helper.rb index 3aee4fb773..c1214bc44e 100644 --- a/actionpack/lib/action_view/helpers/date_helper.rb +++ b/actionpack/lib/action_view/helpers/date_helper.rb @@ -215,21 +215,10 @@ module ActionView # # Creates a time select tag that, when POSTed, will be stored in the post variable in the sunrise attribute # time_select("post", "sunrise") # - # # Creates a time select tag that, when POSTed, will be stored in the order variable in the submitted - # # attribute - # time_select("order", "submitted") - # - # # Creates a time select tag that, when POSTed, will be stored in the mail variable in the sent_at attribute - # time_select("mail", "sent_at") - # # # Creates a time select tag with a seconds field that, when POSTed, will be stored in the post variables in # # the sunrise attribute. # time_select("post", "start_time", :include_seconds => true) # - # # Creates a time select tag with a seconds field that, when POSTed, will be stored in the entry variables in - # # the submission_time attribute. - # time_select("entry", "submission_time", :include_seconds => true) - # # # You can set the :minute_step to 15 which will give you: 00, 15, 30 and 45. # time_select 'game', 'game_time', {:minute_step => 15} # From 2c3c0bcbabb4d725526210701eb91f8087e03a4b Mon Sep 17 00:00:00 2001 From: Dallas Taylor Date: Mon, 18 Oct 2010 18:55:02 +1100 Subject: [PATCH 11/12] Added :file as a possible value when configuring actionmailer --- railties/guides/source/action_mailer_basics.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/railties/guides/source/action_mailer_basics.textile b/railties/guides/source/action_mailer_basics.textile index 34afebcae4..2259061c30 100644 --- a/railties/guides/source/action_mailer_basics.textile +++ b/railties/guides/source/action_mailer_basics.textile @@ -445,7 +445,7 @@ The following configuration options are best made in one of the environment file |smtp_settings|Allows detailed configuration for :smtp delivery method:
  • :address - Allows you to use a remote mail server. Just change it from its default "localhost" setting.
  • :port - On the off chance that your mail server doesn't run on port 25, you can change it.
  • :domain - If you need to specify a HELO domain, you can do it here.
  • :user_name - If your mail server requires authentication, set the username in this setting.
  • :password - If your mail server requires authentication, set the password in this setting.
  • :authentication - If your mail server requires authentication, you need to specify the authentication type here. This is a symbol and one of :plain, :login, :cram_md5.
| |sendmail_settings|Allows you to override options for the :sendmail delivery method.
  • :location - The location of the sendmail executable. Defaults to /usr/sbin/sendmail.
  • :arguments - The command line arguments to be passed to sendmail. Defaults to -i -t.
| |raise_delivery_errors|Whether or not errors should be raised if the email fails to be delivered.| -|delivery_method|Defines a delivery method. Possible values are :smtp (default), :sendmail, and :test.| +|delivery_method|Defines a delivery method. Possible values are :smtp (default), :sendmail, :file and :test.| |perform_deliveries|Determines whether deliver_* methods are actually carried out. By default they are, but this can be turned off to help functional testing.| |deliveries|Keeps an array of all the emails sent out through the Action Mailer with delivery_method :test. Most useful for unit and functional testing.| From e43de58ab449218ab2d56e30e54e429aadcb8a1b Mon Sep 17 00:00:00 2001 From: Richard Hart Date: Tue, 19 Oct 2010 13:40:47 +0100 Subject: [PATCH 12/12] Updating routing namespace examples to use symbols and not strings. --- railties/guides/source/routing.textile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/railties/guides/source/routing.textile b/railties/guides/source/routing.textile index a8a8ee58ec..f48ae9c7f7 100644 --- a/railties/guides/source/routing.textile +++ b/railties/guides/source/routing.textile @@ -153,7 +153,7 @@ h4. Controller Namespaces and Routing You may wish to organize groups of controllers under a namespace. Most commonly, you might group a number of administrative controllers under an +Admin::+ namespace. You would place these controllers under the +app/controllers/admin+ directory, and you can group them together in your router: -namespace "admin" do +namespace :admin do resources :posts, :comments end @@ -478,7 +478,7 @@ match "photos", :constraints => {:subdomain => "admin"} You can also specify constrains in a block form: -namespace "admin" do +namespace :admin do constraints :subdomain => "admin" do resources :photos end