rails 4.0.13 → 4.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -17
  3. data/guides/CHANGELOG.md +68 -34
  4. data/guides/assets/images/edge_badge.png +0 -0
  5. data/guides/assets/images/feature_tile.gif +0 -0
  6. data/guides/assets/images/footer_tile.gif +0 -0
  7. data/guides/assets/images/fxn.png +0 -0
  8. data/guides/assets/images/getting_started/article_with_comments.png +0 -0
  9. data/guides/assets/images/getting_started/challenge.png +0 -0
  10. data/guides/assets/images/getting_started/confirm_dialog.png +0 -0
  11. data/guides/assets/images/getting_started/forbidden_attributes_for_new_article.png +0 -0
  12. data/guides/assets/images/getting_started/form_with_errors.png +0 -0
  13. data/guides/assets/images/getting_started/index_action_with_edit_link.png +0 -0
  14. data/guides/assets/images/getting_started/new_article.png +0 -0
  15. data/guides/assets/images/getting_started/rails_welcome.png +0 -0
  16. data/guides/assets/images/getting_started/routing_error_no_controller.png +0 -0
  17. data/guides/assets/images/getting_started/routing_error_no_route_matches.png +0 -0
  18. data/guides/assets/images/getting_started/show_action_for_articles.png +0 -0
  19. data/guides/assets/images/getting_started/template_is_missing_articles_new.png +0 -0
  20. data/guides/assets/images/getting_started/unknown_action_create_for_articles.png +0 -0
  21. data/guides/assets/images/getting_started/unknown_action_new_for_articles.png +0 -0
  22. data/guides/assets/images/header_tile.gif +0 -0
  23. data/guides/assets/images/icons/README +1 -1
  24. data/guides/assets/images/icons/callouts/11.png +0 -0
  25. data/guides/assets/images/icons/callouts/12.png +0 -0
  26. data/guides/assets/images/icons/callouts/13.png +0 -0
  27. data/guides/assets/images/icons/callouts/15.png +0 -0
  28. data/guides/assets/images/icons/caution.png +0 -0
  29. data/guides/assets/images/icons/example.png +0 -0
  30. data/guides/assets/images/radar.png +0 -0
  31. data/guides/assets/images/rails4_features.png +0 -0
  32. data/guides/assets/images/rails_guides_kindle_cover.jpg +0 -0
  33. data/guides/assets/images/vijaydev.jpg +0 -0
  34. data/guides/assets/javascripts/guides.js +30 -34
  35. data/guides/assets/stylesheets/main.css +2 -1
  36. data/guides/assets/stylesheets/print.css +1 -1
  37. data/guides/bug_report_templates/action_controller_gem.rb +9 -4
  38. data/guides/bug_report_templates/action_controller_master.rb +4 -2
  39. data/guides/bug_report_templates/active_record_gem.rb +5 -2
  40. data/guides/bug_report_templates/active_record_master.rb +2 -1
  41. data/guides/bug_report_templates/generic_gem.rb +15 -0
  42. data/guides/bug_report_templates/generic_master.rb +26 -0
  43. data/guides/code/getting_started/Gemfile +21 -24
  44. data/guides/code/getting_started/Gemfile.lock +78 -73
  45. data/guides/code/getting_started/Rakefile +1 -1
  46. data/guides/code/getting_started/app/assets/javascripts/application.js +1 -2
  47. data/guides/code/getting_started/app/views/layouts/application.html.erb +2 -2
  48. data/guides/code/getting_started/config/environment.rb +1 -1
  49. data/guides/code/getting_started/config/environments/development.rb +2 -2
  50. data/guides/code/getting_started/config/environments/production.rb +3 -3
  51. data/guides/code/getting_started/config/environments/test.rb +2 -2
  52. data/guides/code/getting_started/config/initializers/secret_token.rb +1 -1
  53. data/guides/code/getting_started/config/initializers/session_store.rb +1 -1
  54. data/guides/code/getting_started/config/routes.rb +1 -1
  55. data/guides/code/getting_started/config.ru +1 -1
  56. data/guides/code/getting_started/public/404.html +2 -0
  57. data/guides/code/getting_started/public/422.html +2 -0
  58. data/guides/code/getting_started/public/500.html +2 -0
  59. data/guides/code/getting_started/test/test_helper.rb +0 -3
  60. data/guides/rails_guides/helpers.rb +3 -1
  61. data/guides/source/2_2_release_notes.md +2 -2
  62. data/guides/source/2_3_release_notes.md +8 -8
  63. data/guides/source/3_0_release_notes.md +2 -3
  64. data/guides/source/3_1_release_notes.md +2 -2
  65. data/guides/source/3_2_release_notes.md +12 -12
  66. data/guides/source/4_0_release_notes.md +79 -46
  67. data/guides/source/4_1_release_notes.md +731 -0
  68. data/guides/source/_welcome.html.erb +5 -2
  69. data/guides/source/action_controller_overview.md +189 -40
  70. data/guides/source/action_mailer_basics.md +27 -27
  71. data/guides/source/action_view_overview.md +131 -20
  72. data/guides/source/active_model_basics.md +6 -6
  73. data/guides/source/active_record_basics.md +15 -15
  74. data/guides/source/active_record_callbacks.md +18 -16
  75. data/guides/source/active_record_querying.md +93 -51
  76. data/guides/source/active_record_validations.md +26 -24
  77. data/guides/source/active_support_core_extensions.md +72 -118
  78. data/guides/source/active_support_instrumentation.md +13 -4
  79. data/guides/source/api_documentation_guidelines.md +104 -6
  80. data/guides/source/asset_pipeline.md +573 -244
  81. data/guides/source/association_basics.md +94 -22
  82. data/guides/source/caching_with_rails.md +15 -6
  83. data/guides/source/command_line.md +55 -46
  84. data/guides/source/configuring.md +248 -52
  85. data/guides/source/contributing_to_ruby_on_rails.md +18 -17
  86. data/guides/source/credits.html.erb +2 -2
  87. data/guides/source/debugging_rails_applications.md +39 -8
  88. data/guides/source/development_dependencies_install.md +91 -8
  89. data/guides/source/documents.yaml +4 -0
  90. data/guides/source/engines.md +678 -232
  91. data/guides/source/form_helpers.md +53 -35
  92. data/guides/source/generators.md +19 -15
  93. data/guides/source/getting_started.md +758 -497
  94. data/guides/source/i18n.md +64 -28
  95. data/guides/source/index.html.erb +1 -1
  96. data/guides/source/initialization.md +155 -58
  97. data/guides/source/kindle/toc.html.erb +1 -1
  98. data/guides/source/layout.html.erb +2 -2
  99. data/guides/source/layouts_and_rendering.md +59 -26
  100. data/guides/source/maintenance_policy.md +3 -3
  101. data/guides/source/migrations.md +101 -62
  102. data/guides/source/nested_model_forms.md +3 -3
  103. data/guides/source/plugins.md +34 -31
  104. data/guides/source/rails_application_templates.md +27 -8
  105. data/guides/source/rails_on_rack.md +41 -58
  106. data/guides/source/routing.md +115 -104
  107. data/guides/source/ruby_on_rails_guides_guidelines.md +2 -2
  108. data/guides/source/security.md +81 -36
  109. data/guides/source/testing.md +56 -79
  110. data/guides/source/upgrading_ruby_on_rails.md +531 -21
  111. data/guides/source/working_with_javascript_in_rails.md +19 -11
  112. metadata +51 -23
  113. data/guides/assets/images/getting_started/forbidden_attributes_for_new_post.png +0 -0
  114. data/guides/assets/images/getting_started/new_post.png +0 -0
  115. data/guides/assets/images/getting_started/post_with_comments.png +0 -0
  116. data/guides/assets/images/getting_started/show_action_for_posts.png +0 -0
  117. data/guides/assets/images/getting_started/template_is_missing_posts_new.png +0 -0
  118. data/guides/assets/images/getting_started/undefined_method_post_path.png +0 -0
  119. data/guides/assets/images/getting_started/unknown_action_create_for_posts.png +0 -0
  120. data/guides/assets/images/getting_started/unknown_action_new_for_posts.png +0 -0
  121. data/guides/assets/images/jaimeiniesta.jpg +0 -0
  122. data/guides/source/kindle/KINDLE.md +0 -26
@@ -169,7 +169,7 @@ This will generate the following HTML:
169
169
  </form>
170
170
  ```
171
171
 
172
- Note the `data-remote='true'`. Now, the form will be submitted by Ajax rather
172
+ Note the `data-remote="true"`. Now, the form will be submitted by Ajax rather
173
173
  than by the browser's normal submit mechanism.
174
174
 
175
175
  You probably don't want to just sit there with a filled out `<form>`, though.
@@ -180,12 +180,12 @@ bind to the `ajax:success` event. On failure, use `ajax:error`. Check it out:
180
180
  $(document).ready ->
181
181
  $("#new_post").on("ajax:success", (e, data, status, xhr) ->
182
182
  $("#new_post").append xhr.responseText
183
- ).bind "ajax:error", (e, xhr, status, error) ->
183
+ ).on "ajax:error", (e, xhr, status, error) ->
184
184
  $("#new_post").append "<p>ERROR</p>"
185
185
  ```
186
186
 
187
187
  Obviously, you'll want to be a bit more sophisticated than that, but it's a
188
- start.
188
+ start. You can see more about the events [in the jquery-ujs wiki](https://github.com/rails/jquery-ujs/wiki/ajax).
189
189
 
190
190
  ### form_tag
191
191
 
@@ -194,7 +194,17 @@ is very similar to `form_for`. It has a `:remote` option that you can use like
194
194
  this:
195
195
 
196
196
  ```erb
197
- <%= form_tag('/posts', remote: true) %>
197
+ <%= form_tag('/posts', remote: true) do %>
198
+ ...
199
+ <% end %>
200
+ ```
201
+
202
+ This will generate the following HTML:
203
+
204
+ ```html
205
+ <form accept-charset="UTF-8" action="/posts" data-remote="true" method="post">
206
+ ...
207
+ </form>
198
208
  ```
199
209
 
200
210
  Everything else is the same as `form_for`. See its documentation for full
@@ -278,9 +288,7 @@ The index view (`app/views/users/index.html.erb`) contains:
278
288
  <b>Users</b>
279
289
 
280
290
  <ul id="users">
281
- <% @users.each do |user| %>
282
- <%= render user %>
283
- <% end %>
291
+ <%= render @users %>
284
292
  </ul>
285
293
 
286
294
  <br>
@@ -301,10 +309,10 @@ The `app/views/users/_user.html.erb` partial contains the following:
301
309
  The top portion of the index page displays the users. The bottom portion
302
310
  provides a form to create a new user.
303
311
 
304
- The bottom form will call the create action on the Users controller. Because
312
+ The bottom form will call the `create` action on the `UsersController`. Because
305
313
  the form's remote option is set to true, the request will be posted to the
306
- users controller as an Ajax request, looking for JavaScript. In order to
307
- service that request, the create action of your controller would look like
314
+ `UsersController` as an Ajax request, looking for JavaScript. In order to
315
+ serve that request, the `create` action of your controller would look like
308
316
  this:
309
317
 
310
318
  ```ruby
@@ -394,4 +402,4 @@ Here are some helpful links to help you learn even more:
394
402
  * [jquery-ujs list of external articles](https://github.com/rails/jquery-ujs/wiki/External-articles)
395
403
  * [Rails 3 Remote Links and Forms: A Definitive Guide](http://www.alfajango.com/blog/rails-3-remote-links-and-forms/)
396
404
  * [Railscasts: Unobtrusive JavaScript](http://railscasts.com/episodes/205-unobtrusive-javascript)
397
- * [Railscasts: Turbolinks](http://railscasts.com/episodes/390-turbolinks)
405
+ * [Railscasts: Turbolinks](http://railscasts.com/episodes/390-turbolinks)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.13
4
+ version: 4.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-06 00:00:00.000000000 Z
11
+ date: 2016-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,70 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.13
19
+ version: 4.1.16
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.13
26
+ version: 4.1.16
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 4.0.13
33
+ version: 4.1.16
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 4.0.13
40
+ version: 4.1.16
41
+ - !ruby/object:Gem::Dependency
42
+ name: actionview
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 4.1.16
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 4.1.16
55
+ - !ruby/object:Gem::Dependency
56
+ name: activemodel
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 4.1.16
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 4.1.16
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: activerecord
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - '='
46
74
  - !ruby/object:Gem::Version
47
- version: 4.0.13
75
+ version: 4.1.16
48
76
  type: :runtime
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - '='
53
81
  - !ruby/object:Gem::Version
54
- version: 4.0.13
82
+ version: 4.1.16
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: actionmailer
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - '='
60
88
  - !ruby/object:Gem::Version
61
- version: 4.0.13
89
+ version: 4.1.16
62
90
  type: :runtime
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - '='
67
95
  - !ruby/object:Gem::Version
68
- version: 4.0.13
96
+ version: 4.1.16
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: railties
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
101
  - - '='
74
102
  - !ruby/object:Gem::Version
75
- version: 4.0.13
103
+ version: 4.1.16
76
104
  type: :runtime
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - '='
81
109
  - !ruby/object:Gem::Version
82
- version: 4.0.13
110
+ version: 4.1.16
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: bundler
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -138,21 +166,20 @@ files:
138
166
  - guides/assets/images/feature_tile.gif
139
167
  - guides/assets/images/footer_tile.gif
140
168
  - guides/assets/images/fxn.png
169
+ - guides/assets/images/getting_started/article_with_comments.png
141
170
  - guides/assets/images/getting_started/challenge.png
142
171
  - guides/assets/images/getting_started/confirm_dialog.png
143
- - guides/assets/images/getting_started/forbidden_attributes_for_new_post.png
172
+ - guides/assets/images/getting_started/forbidden_attributes_for_new_article.png
144
173
  - guides/assets/images/getting_started/form_with_errors.png
145
174
  - guides/assets/images/getting_started/index_action_with_edit_link.png
146
- - guides/assets/images/getting_started/new_post.png
147
- - guides/assets/images/getting_started/post_with_comments.png
175
+ - guides/assets/images/getting_started/new_article.png
148
176
  - guides/assets/images/getting_started/rails_welcome.png
149
177
  - guides/assets/images/getting_started/routing_error_no_controller.png
150
178
  - guides/assets/images/getting_started/routing_error_no_route_matches.png
151
- - guides/assets/images/getting_started/show_action_for_posts.png
152
- - guides/assets/images/getting_started/template_is_missing_posts_new.png
153
- - guides/assets/images/getting_started/undefined_method_post_path.png
154
- - guides/assets/images/getting_started/unknown_action_create_for_posts.png
155
- - guides/assets/images/getting_started/unknown_action_new_for_posts.png
179
+ - guides/assets/images/getting_started/show_action_for_articles.png
180
+ - guides/assets/images/getting_started/template_is_missing_articles_new.png
181
+ - guides/assets/images/getting_started/unknown_action_create_for_articles.png
182
+ - guides/assets/images/getting_started/unknown_action_new_for_articles.png
156
183
  - guides/assets/images/grey_bullet.gif
157
184
  - guides/assets/images/habtm.png
158
185
  - guides/assets/images/has_many.png
@@ -193,7 +220,6 @@ files:
193
220
  - guides/assets/images/icons/tip.png
194
221
  - guides/assets/images/icons/up.png
195
222
  - guides/assets/images/icons/warning.png
196
- - guides/assets/images/jaimeiniesta.jpg
197
223
  - guides/assets/images/nav_arrow.gif
198
224
  - guides/assets/images/oscardelben.jpg
199
225
  - guides/assets/images/polymorphic.png
@@ -268,6 +294,8 @@ files:
268
294
  - guides/bug_report_templates/action_controller_master.rb
269
295
  - guides/bug_report_templates/active_record_gem.rb
270
296
  - guides/bug_report_templates/active_record_master.rb
297
+ - guides/bug_report_templates/generic_gem.rb
298
+ - guides/bug_report_templates/generic_master.rb
271
299
  - guides/code/getting_started/Gemfile
272
300
  - guides/code/getting_started/Gemfile.lock
273
301
  - guides/code/getting_started/README.rdoc
@@ -354,6 +382,7 @@ files:
354
382
  - guides/source/3_1_release_notes.md
355
383
  - guides/source/3_2_release_notes.md
356
384
  - guides/source/4_0_release_notes.md
385
+ - guides/source/4_1_release_notes.md
357
386
  - guides/source/_license.html.erb
358
387
  - guides/source/_welcome.html.erb
359
388
  - guides/source/action_controller_overview.md
@@ -384,7 +413,6 @@ files:
384
413
  - guides/source/i18n.md
385
414
  - guides/source/index.html.erb
386
415
  - guides/source/initialization.md
387
- - guides/source/kindle/KINDLE.md
388
416
  - guides/source/kindle/copyright.html.erb
389
417
  - guides/source/kindle/layout.html.erb
390
418
  - guides/source/kindle/rails_guides.opf.erb
@@ -426,7 +454,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
426
454
  version: 1.8.11
427
455
  requirements: []
428
456
  rubyforge_project:
429
- rubygems_version: 2.4.5
457
+ rubygems_version: 2.4.5.1
430
458
  signing_key:
431
459
  specification_version: 4
432
460
  summary: Full-stack web application framework.
Binary file
@@ -1,26 +0,0 @@
1
- # Rails Guides on the Kindle
2
-
3
-
4
- ## Synopsis
5
-
6
- 1. Obtain `kindlegen` from the link below and put the binary in your path
7
- 2. Run `KINDLE=1 rake generate_guides` to generate the guides and compile the `.mobi` file
8
- 3. Copy `output/kindle/rails_guides.mobi` to your Kindle
9
-
10
- ## Resources
11
-
12
- * [Stack Overflow: Kindle Periodical Format](http://stackoverflow.com/questions/5379565/kindle-periodical-format)
13
- * Example Periodical [.ncx](https://gist.github.com/mipearson/808c971ed087b839d462) and [.opf](https://gist.github.com/mipearson/d6349aa8488eca2ee6d0)
14
- * [Kindle Publishing Guidelines](http://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf)
15
- * [KindleGen & Kindle Previewer](http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000234621)
16
-
17
- ## TODO
18
-
19
- ### Post release
20
-
21
- * Integrate generated Kindle document into published HTML guides
22
- * Tweak heading styles (most docs use h3/h4/h5, which end up being smaller than the text under it)
23
- * Tweak table styles (smaller text? Many of the tables are unusable on a Kindle in portrait mode)
24
- * Have the HTML/XML TOC 'drill down' into the TOCs of the individual guides
25
- * `.epub` generation.
26
-