railties 6.1.4.1 → 7.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +113 -344
- data/MIT-LICENSE +1 -1
- data/RDOC_MAIN.rdoc +16 -16
- data/README.rdoc +0 -1
- data/lib/rails/all.rb +0 -1
- data/lib/rails/app_updater.rb +3 -5
- data/lib/rails/application/bootstrap.rb +21 -5
- data/lib/rails/application/configuration.rb +64 -28
- data/lib/rails/application/default_middleware_stack.rb +7 -3
- data/lib/rails/application/finisher.rb +42 -85
- data/lib/rails/application/routes_reloader.rb +8 -0
- data/lib/rails/application.rb +24 -50
- data/lib/rails/application_controller.rb +2 -2
- data/lib/rails/autoloaders/inflector.rb +21 -0
- data/lib/rails/autoloaders.rb +12 -16
- data/lib/rails/code_statistics.rb +2 -2
- data/lib/rails/code_statistics_calculator.rb +10 -1
- data/lib/rails/command/base.rb +26 -12
- data/lib/rails/command/behavior.rb +1 -1
- data/lib/rails/command/environment_argument.rb +1 -1
- data/lib/rails/command.rb +8 -5
- data/lib/rails/commands/credentials/USAGE +4 -2
- data/lib/rails/commands/credentials/credentials_command/diffing.rb +26 -16
- data/lib/rails/commands/credentials/credentials_command.rb +8 -3
- data/lib/rails/commands/dbconsole/dbconsole_command.rb +10 -11
- data/lib/rails/commands/help/USAGE +3 -2
- data/lib/rails/commands/runner/runner_command.rb +3 -2
- data/lib/rails/commands/server/server_command.rb +2 -5
- data/lib/rails/configuration.rb +18 -23
- data/lib/rails/engine/configuration.rb +3 -3
- data/lib/rails/engine.rb +18 -24
- data/lib/rails/gem_version.rb +4 -4
- data/lib/rails/generators/actions/create_migration.rb +2 -4
- data/lib/rails/generators/actions.rb +35 -13
- data/lib/rails/generators/app_base.rb +99 -105
- data/lib/rails/generators/app_name.rb +1 -1
- data/lib/rails/generators/base.rb +9 -13
- data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +2 -0
- data/lib/rails/generators/erb/scaffold/templates/_form.html.erb.tt +8 -8
- data/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +8 -4
- data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +6 -28
- data/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +7 -3
- data/lib/rails/generators/erb/scaffold/templates/partial.html.erb.tt +20 -0
- data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +8 -17
- data/lib/rails/generators/erb.rb +1 -1
- data/lib/rails/generators/generated_attribute.rb +45 -9
- data/lib/rails/generators/migration.rb +2 -6
- data/lib/rails/generators/model_helpers.rb +1 -1
- data/lib/rails/generators/named_base.rb +1 -1
- data/lib/rails/generators/rails/app/app_generator.rb +53 -91
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +44 -50
- data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +2 -2
- data/lib/rails/generators/rails/app/templates/app/mailers/application_mailer.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/app/models/application_record.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +3 -9
- data/lib/rails/generators/rails/app/templates/bin/rails.tt +1 -4
- data/lib/rails/generators/rails/app/templates/bin/rake.tt +0 -3
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +9 -14
- data/lib/rails/generators/rails/app/templates/config/application.rb.tt +0 -1
- data/lib/rails/generators/rails/app/templates/config/boot.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +5 -5
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +6 -12
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +21 -17
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +6 -11
- data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +19 -25
- data/lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt +4 -4
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt +121 -0
- data/lib/rails/generators/rails/app/templates/config/locales/en.yml +3 -3
- data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +4 -1
- data/lib/rails/generators/rails/app/templates/config/storage.yml.tt +5 -5
- data/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/gitattributes.tt +0 -5
- data/lib/rails/generators/rails/app/templates/gitignore.tt +3 -1
- data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +1 -1
- data/lib/rails/generators/rails/controller/controller_generator.rb +1 -2
- data/lib/rails/generators/rails/controller/templates/controller.rb.tt +0 -4
- data/lib/rails/generators/rails/db/system/change/change_generator.rb +1 -1
- data/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/plugin_generator.rb +40 -15
- data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +7 -3
- data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +9 -9
- data/lib/rails/generators/rails/plugin/templates/README.md.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt +0 -3
- data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +4 -5
- data/lib/rails/generators/rails/plugin/templates/gitignore.tt +0 -5
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +3 -3
- data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +0 -19
- data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +1 -5
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +6 -10
- data/lib/rails/generators/resource_helpers.rb +2 -2
- data/lib/rails/generators/test_unit/generator/templates/generator_test.rb.tt +1 -1
- data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +2 -2
- data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +3 -3
- data/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +5 -5
- data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +2 -2
- data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +9 -11
- data/lib/rails/generators/testing/behaviour.rb +1 -2
- data/lib/rails/generators.rb +9 -22
- data/lib/rails/info.rb +1 -1
- data/lib/rails/info_controller.rb +1 -3
- data/lib/rails/initializable.rb +1 -1
- data/lib/rails/mailers_controller.rb +2 -4
- data/lib/rails/rack/logger.rb +0 -1
- data/lib/rails/railtie/configuration.rb +1 -2
- data/lib/rails/railtie.rb +27 -10
- data/lib/rails/ruby_version_check.rb +3 -3
- data/lib/rails/secrets.rb +4 -1
- data/lib/rails/tasks/framework.rake +2 -8
- data/lib/rails/tasks/statistics.rake +3 -1
- data/lib/rails/tasks/tmp.rake +8 -1
- data/lib/rails/tasks/yarn.rake +8 -9
- data/lib/rails/tasks/zeitwerk.rake +2 -10
- data/lib/rails/templates/layouts/application.html.erb +15 -0
- data/lib/rails/templates/rails/mailers/email.html.erb +13 -11
- data/lib/rails/templates/rails/welcome/index.html.erb +3 -0
- data/lib/rails/test_unit/railtie.rb +0 -4
- data/lib/rails/test_unit/runner.rb +16 -9
- data/lib/rails/test_unit/testing.rake +4 -9
- data/lib/rails/welcome_controller.rb +1 -0
- data/lib/rails.rb +5 -0
- metadata +34 -37
- data/lib/rails/command/spellchecker.rb +0 -57
- data/lib/rails/generators/css/assets/assets_generator.rb +0 -15
- data/lib/rails/generators/css/assets/templates/stylesheet.css +0 -4
- data/lib/rails/generators/css/scaffold/scaffold_generator.rb +0 -18
- data/lib/rails/generators/rails/app/templates/app/javascript/channels/consumer.js +0 -6
- data/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +0 -5
- data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +0 -23
- data/lib/rails/generators/rails/app/templates/bin/spring.tt +0 -13
- data/lib/rails/generators/rails/app/templates/bin/yarn.tt +0 -16
- data/lib/rails/generators/rails/app/templates/config/initializers/application_controller_renderer.rb.tt +0 -8
- data/lib/rails/generators/rails/app/templates/config/initializers/backtrace_silencers.rb.tt +0 -8
- data/lib/rails/generators/rails/app/templates/config/initializers/cookies_serializer.rb.tt +0 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/mime_types.rb.tt +0 -4
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_1.rb.tt +0 -67
- data/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt +0 -16
- data/lib/rails/generators/rails/app/templates/config/spring.rb.tt +0 -6
- data/lib/rails/generators/rails/app/templates/package.json.tt +0 -11
- data/lib/rails/generators/rails/assets/USAGE +0 -16
- data/lib/rails/generators/rails/assets/assets_generator.rb +0 -26
- data/lib/rails/generators/rails/assets/templates/stylesheet.css +0 -4
- data/lib/rails/generators/rails/scaffold/templates/scaffold.css +0 -80
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b284070001b693990d6b81e724e3c743a63a3cb3b2b92facb47102b72872560
|
4
|
+
data.tar.gz: cb69eb78c8c0373ff652b727ef28ebefb2f25ef8f9ae1fdb0d5445378da49143
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af3ace6e641e5dd20232ccc7eb83e9104ed40c4d85ba4f62d2f0b8d5b96f9b1fee8a31379f41145cad1ffe5aef8acf34daef558104cf13b955555e70cac19b79
|
7
|
+
data.tar.gz: dee8812ce8c27baef9cb88a64c0709153096671a55d046567dd1b760ba942b1e205c3d3e8ac182b4b5628bcf2ea5448643282ac0cd080898d3b68def142dc643
|
data/CHANGELOG.md
CHANGED
@@ -1,432 +1,201 @@
|
|
1
|
-
## Rails
|
1
|
+
## Rails 7.0.0.rc2 (December 14, 2021) ##
|
2
2
|
|
3
|
-
*
|
4
|
-
|
5
|
-
|
6
|
-
## Rails 6.1.4 (June 24, 2021) ##
|
7
|
-
|
8
|
-
* Fix compatibility with `psych >= 4`.
|
9
|
-
|
10
|
-
Starting in Psych 4.0.0 `YAML.load` behaves like `YAML.safe_load`. To preserve compatibility
|
11
|
-
`Rails.application.config_for` now uses `YAML.unsafe_load` if available.
|
12
|
-
|
13
|
-
*Jean Boussier*
|
14
|
-
|
15
|
-
* Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
|
16
|
-
|
17
|
-
*Jean Boussier*
|
18
|
-
|
19
|
-
* Fix create migration generator with `--pretend` option.
|
20
|
-
|
21
|
-
*euxx*
|
22
|
-
|
23
|
-
|
24
|
-
## Rails 6.1.3.2 (May 05, 2021) ##
|
25
|
-
|
26
|
-
* No changes.
|
27
|
-
|
28
|
-
|
29
|
-
## Rails 6.1.3.1 (March 26, 2021) ##
|
30
|
-
|
31
|
-
* No changes.
|
32
|
-
|
33
|
-
|
34
|
-
## Rails 6.1.3 (February 17, 2021) ##
|
35
|
-
|
36
|
-
* No changes.
|
37
|
-
|
38
|
-
|
39
|
-
## Rails 6.1.2.1 (February 10, 2021) ##
|
40
|
-
|
41
|
-
* No changes.
|
42
|
-
|
43
|
-
|
44
|
-
## Rails 6.1.2 (February 09, 2021) ##
|
45
|
-
|
46
|
-
* No changes.
|
47
|
-
|
48
|
-
|
49
|
-
## Rails 6.1.1 (January 07, 2021) ##
|
50
|
-
|
51
|
-
* Allow spaces in path to Yarn binstub and only run on precompile if needed.
|
52
|
-
|
53
|
-
*Markus Doits*
|
54
|
-
|
55
|
-
* Populate ARGV for app template.
|
56
|
-
|
57
|
-
Fixes #40945.
|
58
|
-
|
59
|
-
*Jonathan Hefner*
|
60
|
-
|
61
|
-
|
62
|
-
## Rails 6.1.0 (December 09, 2020) ##
|
63
|
-
|
64
|
-
* Added `Railtie#server` hook called when Rails starts a server.
|
65
|
-
This is useful in case your application or a library needs to run
|
66
|
-
another process next to the Rails server. This is quite common in development
|
67
|
-
for instance to run the Webpack or the React server.
|
68
|
-
|
69
|
-
It can be used like this:
|
70
|
-
|
71
|
-
```ruby
|
72
|
-
class MyRailtie < Rails::Railtie
|
73
|
-
server do
|
74
|
-
WebpackServer.run
|
75
|
-
end
|
76
|
-
end
|
77
|
-
```
|
78
|
-
|
79
|
-
*Edouard Chin*
|
80
|
-
|
81
|
-
* Remove deprecated `rake dev:cache` tasks.
|
3
|
+
* Remove deprecated `config` in `dbconsole`.
|
82
4
|
|
83
5
|
*Rafael Mendonça França*
|
84
6
|
|
85
|
-
*
|
7
|
+
* Change default `X-XSS-Protection` header to disable XSS auditor
|
86
8
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
*Rafael Mendonça França*
|
9
|
+
This header has been deprecated and the XSS auditor it triggered
|
10
|
+
has been removed from all major modern browsers (in favour of
|
11
|
+
Content Security Policy) that implemented this header to begin with
|
12
|
+
(Firefox never did).
|
92
13
|
|
93
|
-
|
14
|
+
[OWASP](https://owasp.org/www-project-secure-headers/#x-xss-protection)
|
15
|
+
suggests setting this header to '0' to disable the default behaviour
|
16
|
+
on old browsers as it can introduce additional security issues.
|
94
17
|
|
95
|
-
|
18
|
+
Added the new behaviour as a framework default from Rails 7.0.
|
96
19
|
|
97
|
-
*
|
20
|
+
*Christian Sutter*
|
98
21
|
|
99
|
-
|
22
|
+
* Scaffolds now use date_field, time_field and datetime_field instead of
|
23
|
+
date_select, time_select and datetime_select; thus providing native date/time pickers.
|
100
24
|
|
101
|
-
*
|
25
|
+
*Martijn Lafeber*
|
102
26
|
|
103
|
-
|
27
|
+
* Fix a regression in which autoload paths were initialized too late.
|
104
28
|
|
105
|
-
*
|
29
|
+
*Xavier Noria*
|
106
30
|
|
107
|
-
|
31
|
+
## Rails 7.0.0.alpha2 (September 15, 2021) ##
|
108
32
|
|
109
|
-
*
|
33
|
+
* Fix activestorage dependency in the npm package.
|
110
34
|
|
111
35
|
*Rafael Mendonça França*
|
112
36
|
|
113
|
-
|
114
|
-
|
115
|
-
Fixes #38998.
|
116
|
-
|
117
|
-
*Loren Norman*
|
37
|
+
## Rails 7.0.0.alpha1 (September 15, 2021) ##
|
118
38
|
|
119
|
-
*
|
39
|
+
* New and upgraded Rails apps no longer generate `config/initializers/application_controller_renderer.rb`
|
40
|
+
or `config/initializers/cookies_serializer.rb`
|
120
41
|
|
121
|
-
|
122
|
-
|
123
|
-
`XDG_CONFIG_HOME` is not set). If this file does not exist, `rails new`
|
124
|
-
will fall back to `~/.railsrc`.
|
42
|
+
The default value for `cookies_serializer` (`:json`) has been moved to `config.load_defaults("7.0")`.
|
43
|
+
The new framework defaults file can be used to upgrade the serializer.
|
125
44
|
|
126
|
-
|
45
|
+
*Alex Ghiculescu*
|
127
46
|
|
128
|
-
|
129
|
-
|
130
|
-
* Change the default logging level from :debug to :info to avoid inadvertent exposure of personally
|
131
|
-
identifiable information (PII) in production environments.
|
132
|
-
|
133
|
-
*Eric M. Payne*
|
134
|
-
|
135
|
-
* Automatically generate abstract class when using multiple databases.
|
136
|
-
|
137
|
-
When generating a scaffold for a multiple database application, Rails will now automatically generate the abstract class for the database when the database argument is passed. This abstract class will include the connection information for the writing configuration and any models generated for that database will automatically inherit from the abstract class.
|
138
|
-
|
139
|
-
Usage:
|
140
|
-
|
141
|
-
```bash
|
142
|
-
$ bin/rails generate scaffold Pet name:string --database=animals
|
143
|
-
```
|
144
|
-
|
145
|
-
Will create an abstract class for the animals connection.
|
146
|
-
|
147
|
-
```ruby
|
148
|
-
class AnimalsRecord < ApplicationRecord
|
149
|
-
self.abstract_class = true
|
150
|
-
|
151
|
-
connects_to database: { writing: :animals }
|
152
|
-
end
|
153
|
-
```
|
154
|
-
|
155
|
-
And generate a `Pet` model that inherits from the new `AnimalsRecord`:
|
156
|
-
|
157
|
-
```ruby
|
158
|
-
class Pet < AnimalsRecord
|
159
|
-
end
|
160
|
-
```
|
161
|
-
|
162
|
-
If you already have an abstract class and it follows a different pattern than Rails defaults, you can pass a parent class with the database argument.
|
163
|
-
|
164
|
-
```bash
|
165
|
-
$ bin/rails generate scaffold Pet name:string --database=animals --parent=SecondaryBase
|
166
|
-
```
|
167
|
-
|
168
|
-
This will ensure the model inherits from the `SecondaryBase` parent instead of `AnimalsRecord`
|
169
|
-
|
170
|
-
```ruby
|
171
|
-
class Pet < SecondaryBase
|
172
|
-
end
|
173
|
-
```
|
174
|
-
|
175
|
-
*Eileen M. Uchitelle*, *John Crepezzi*
|
176
|
-
|
177
|
-
* Accept params from url to prepopulate the Inbound Emails form in Rails conductor.
|
178
|
-
|
179
|
-
*Chris Oliver*
|
180
|
-
|
181
|
-
* Create a new rails app using a minimal stack.
|
182
|
-
|
183
|
-
`rails new cool_app --minimal`
|
184
|
-
|
185
|
-
All the following are excluded from your minimal stack:
|
186
|
-
|
187
|
-
- action_cable
|
188
|
-
- action_mailbox
|
189
|
-
- action_mailer
|
190
|
-
- action_text
|
191
|
-
- active_job
|
192
|
-
- active_storage
|
193
|
-
- bootsnap
|
194
|
-
- jbuilder
|
195
|
-
- spring
|
196
|
-
- system_tests
|
197
|
-
- turbolinks
|
198
|
-
- webpack
|
199
|
-
|
200
|
-
*Haroon Ahmed*, *DHH*
|
201
|
-
|
202
|
-
* Add default ENV variable option with BACKTRACE to turn off backtrace cleaning when debugging framework code in the
|
203
|
-
generated config/initializers/backtrace_silencers.rb.
|
204
|
-
|
205
|
-
`BACKTRACE=1 ./bin/rails runner "MyClass.perform"`
|
206
|
-
|
207
|
-
*DHH*
|
208
|
-
|
209
|
-
* The autoloading guide for Zeitwerk mode documents how to autoload classes
|
210
|
-
during application boot in a safe way.
|
211
|
-
|
212
|
-
*Haroon Ahmed*, *Xavier Noria*
|
213
|
-
|
214
|
-
* The `classic` autoloader starts its deprecation cycle.
|
215
|
-
|
216
|
-
New Rails projects are strongly discouraged from using `classic`, and we recommend that existing projects running on `classic` switch to `zeitwerk` mode when upgrading. Please check the [_Upgrading Ruby on Rails_](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html) guide for tips.
|
47
|
+
* New applications get a dependency on the new `debug` gem, replacing `byebug`.
|
217
48
|
|
218
49
|
*Xavier Noria*
|
219
50
|
|
220
|
-
*
|
221
|
-
|
222
|
-
This runs all test files in the test directory, including system tests.
|
223
|
-
|
224
|
-
*Niklas Häusele*
|
225
|
-
|
226
|
-
* Add `config.generators.after_generate` for processing to generated files.
|
227
|
-
|
228
|
-
Register a callback that will get called right after generators has finished.
|
229
|
-
|
230
|
-
*Yuji Yaginuma*
|
231
|
-
|
232
|
-
* Make test file patterns configurable via Environment variables
|
233
|
-
|
234
|
-
This makes test file patterns configurable via two environment variables:
|
235
|
-
`DEFAULT_TEST`, to configure files to test, and `DEFAULT_TEST_EXCLUDE`,
|
236
|
-
to configure files to exclude from testing.
|
237
|
-
|
238
|
-
These values were hardcoded before, which made it difficult to add
|
239
|
-
new categories of tests that should not be executed by default (e.g:
|
240
|
-
smoke tests).
|
241
|
-
|
242
|
-
*Jorge Manrubia*
|
243
|
-
|
244
|
-
* No longer include `rake rdoc` task when generating plugins.
|
245
|
-
|
246
|
-
To generate docs, use the `rdoc lib` command instead.
|
247
|
-
|
248
|
-
*Jonathan Hefner*
|
51
|
+
* Add SSL support for postgresql in `bin/rails dbconsole`.
|
249
52
|
|
250
|
-
|
53
|
+
Fixes #43114.
|
251
54
|
|
252
|
-
*
|
55
|
+
*Michael Bayucot*
|
253
56
|
|
254
|
-
* Add
|
57
|
+
* Add support for comments above gem declaration in Rails application templates, e.g. `gem("nokogiri", comment: "For XML")`.
|
255
58
|
|
256
|
-
|
257
|
-
It's enabled by default in development environment, but can be enabled in production as well.
|
258
|
-
See the gem [README](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md) for information on how to enable it in production.
|
59
|
+
*Linas Juškevičius*
|
259
60
|
|
260
|
-
|
61
|
+
* The setter `config.autoloader=` has been deleted. `zeitwerk` is the only
|
62
|
+
available autoloading mode.
|
261
63
|
|
262
|
-
*
|
263
|
-
|
264
|
-
*Joshua Cody*
|
265
|
-
|
266
|
-
* Run `git init` when generating plugins.
|
64
|
+
*Xavier Noria*
|
267
65
|
|
268
|
-
|
66
|
+
* `config.autoload_once_paths` can be configured in the body of the
|
67
|
+
application class defined in `config/application.rb` or in the configuration
|
68
|
+
for environments in `config/environments/*`.
|
269
69
|
|
270
|
-
|
70
|
+
Similarly, engines can configure that collection in the class body of the
|
71
|
+
engine class or in the configuration for environments.
|
271
72
|
|
272
|
-
|
73
|
+
After that, the collection is frozen, and you can autoload from those paths.
|
74
|
+
They are managed by the `Rails.autoloaders.once` autoloader, which does not
|
75
|
+
reload, only autoloads/eager loads.
|
273
76
|
|
274
|
-
|
77
|
+
*Xavier Noria*
|
275
78
|
|
276
|
-
|
79
|
+
* During initialization, you cannot autoload reloadable classes or modules
|
80
|
+
like application models, unless they are wrapped in a `to_prepare` block.
|
81
|
+
For example, from `config/initializers/*`, or in application, engines, or
|
82
|
+
railties initializers.
|
277
83
|
|
278
|
-
|
279
|
-
|
84
|
+
Please check the [autoloading
|
85
|
+
guide](https://guides.rubyonrails.org/v7.0/autoloading_and_reloading_constants.html#autoloading-when-the-application-boots)
|
86
|
+
for details.
|
280
87
|
|
281
|
-
|
282
|
-
`ruby script/benchmarks/opt_compare.rb`
|
88
|
+
*Xavier Noria*
|
283
89
|
|
284
|
-
|
90
|
+
* While they are allowed to have elements in common, it is no longer required
|
91
|
+
that `config.autoload_once_paths` is a subset of `config.autoload_paths`.
|
92
|
+
The former are managed by the `once` autoloader. The `main` autoloader
|
93
|
+
manages the latter minus the former.
|
285
94
|
|
286
|
-
*
|
95
|
+
*Xavier Noria*
|
287
96
|
|
288
|
-
|
289
|
-
disabled in `environments/test.rb`. This implicitly disables caching
|
290
|
-
view templates too. This change will enable view template caching by
|
291
|
-
adding this to the generated `environments/test.rb`:
|
97
|
+
* Show Rake task description if command is run with `-h`.
|
292
98
|
|
293
|
-
|
294
|
-
|
295
|
-
```
|
99
|
+
Adding `-h` (or `--help`) to a Rails command that's a Rake task now outputs
|
100
|
+
the task description instead of the general Rake help.
|
296
101
|
|
297
|
-
*
|
102
|
+
*Petrik de Heus*
|
298
103
|
|
299
|
-
*
|
104
|
+
* Add missing `plugin new` command to help.
|
300
105
|
|
301
|
-
|
302
|
-
move it from one place to another in the stack:
|
106
|
+
*Petrik de Heus
|
303
107
|
|
304
|
-
|
305
|
-
config.middleware.move_before ActionDispatch::Flash, Magical::Unicorns
|
306
|
-
```
|
108
|
+
* Fix `config_for` error when there's only a shared root array.
|
307
109
|
|
308
|
-
|
309
|
-
`ActionDispatch::Flash`. You can also move it after with:
|
110
|
+
*Loïc Delmaire*
|
310
111
|
|
311
|
-
|
312
|
-
config.middleware.move_after ActionDispatch::Flash, Magical::Unicorns
|
313
|
-
```
|
112
|
+
* Raise an error in generators if an index type is invalid.
|
314
113
|
|
315
|
-
*
|
114
|
+
*Petrik de Heus*
|
316
115
|
|
317
|
-
*
|
116
|
+
* `package.json` now uses a strict version constraint for Rails JavaScript packages on new Rails apps.
|
318
117
|
|
319
|
-
*
|
118
|
+
*Zachary Scott*, *Alex Ghiculescu*
|
320
119
|
|
321
|
-
*
|
120
|
+
* Modified scaffold generator template so that running
|
121
|
+
`rails g scaffold Author` no longer generates tests called "creating
|
122
|
+
a Author", "updating a Author", and "destroying a Author".
|
322
123
|
|
323
|
-
|
124
|
+
Fixes #40744.
|
324
125
|
|
325
|
-
|
126
|
+
*Michael Duchemin*
|
326
127
|
|
327
|
-
|
128
|
+
* Raise an error in generators if a field type is invalid.
|
328
129
|
|
329
|
-
*
|
130
|
+
*Petrik de Heus*
|
330
131
|
|
331
|
-
|
132
|
+
* `bin/rails tmp:clear` deletes also files and directories in `tmp/storage`.
|
332
133
|
|
333
|
-
|
334
|
-
config.generators do |g|
|
335
|
-
g.orm :active_record, primary_key_type: :uuid
|
336
|
-
end
|
337
|
-
```
|
134
|
+
*George Claghorn*
|
338
135
|
|
339
|
-
|
136
|
+
* Fix compatibility with `psych >= 4`.
|
340
137
|
|
341
|
-
|
342
|
-
|
343
|
-
```
|
138
|
+
Starting in Psych 4.0.0 `YAML.load` behaves like `YAML.safe_load`. To preserve compatibility
|
139
|
+
`Rails.application.config_for` now uses `YAML.unsafe_load` if available.
|
344
140
|
|
345
|
-
|
346
|
-
This change causes the type to be applied appropriately.
|
141
|
+
*Jean Boussier*
|
347
142
|
|
348
|
-
|
143
|
+
* Allow loading nested locales in engines.
|
349
144
|
|
350
|
-
*
|
145
|
+
*Gannon McGibbon*
|
351
146
|
|
352
|
-
|
147
|
+
* Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
|
353
148
|
|
354
|
-
*
|
149
|
+
*Jean Boussier*
|
355
150
|
|
356
|
-
* `
|
151
|
+
* Remove `Rack::Runtime` from the default middleware stack and deprecate
|
152
|
+
referencing it in middleware operations without adding it back.
|
357
153
|
|
358
|
-
|
359
|
-
# config/example.yml
|
360
|
-
shared:
|
361
|
-
foo:
|
362
|
-
bar:
|
363
|
-
baz: 1
|
364
|
-
development:
|
365
|
-
foo:
|
366
|
-
bar:
|
367
|
-
qux: 2
|
368
|
-
```
|
154
|
+
*Hartley McGuire*
|
369
155
|
|
370
|
-
|
371
|
-
# Previously
|
372
|
-
Rails.application.config_for(:example)[:foo][:bar] #=> { qux: 2 }
|
156
|
+
* Allow adding additional authorized hosts in development via `ENV['RAILS_DEVELOPMENT_HOSTS']`.
|
373
157
|
|
374
|
-
|
375
|
-
Rails.application.config_for(:example)[:foo][:bar] #=> { baz: 1, qux: 2 }
|
376
|
-
```
|
158
|
+
*Josh Abernathy*, *Debbie Milburn*
|
377
159
|
|
378
|
-
|
160
|
+
* Add app concern and test keepfiles to generated engine plugins.
|
379
161
|
|
380
|
-
*
|
162
|
+
*Gannon McGibbon*
|
381
163
|
|
382
|
-
|
383
|
-
# config/example.yml
|
384
|
-
development:
|
385
|
-
options:
|
386
|
-
key: value
|
387
|
-
```
|
164
|
+
* Stop generating a license for in-app plugins.
|
388
165
|
|
389
|
-
|
390
|
-
Rails.application.config_for(:example).options
|
391
|
-
```
|
166
|
+
*Gannon McGibbon*
|
392
167
|
|
393
|
-
|
168
|
+
* `rails app:update` no longer prompts you to overwrite files that are generally modified in the
|
169
|
+
course of developing a Rails app. See [#41083](https://github.com/rails/rails/pull/41083) for
|
170
|
+
the full list of changes.
|
394
171
|
|
395
|
-
|
172
|
+
*Alex Ghiculescu*
|
396
173
|
|
397
|
-
*
|
398
|
-
now able to modify `autoload_paths`, `autoload_once_paths`, and
|
399
|
-
`eager_load_paths`.
|
174
|
+
* Change default branch for new Rails projects and plugins to `main`.
|
400
175
|
|
401
|
-
|
176
|
+
*Prateek Choudhary*
|
402
177
|
|
403
|
-
|
178
|
+
* The new method `Rails.benchmark` gives you a quick way to measure and log the execution time taken by a block:
|
404
179
|
|
405
|
-
|
180
|
+
def test_expensive_stuff
|
181
|
+
Rails.benchmark("test_expensive_stuff") { ... }
|
182
|
+
end
|
406
183
|
|
407
|
-
|
408
|
-
# In config/application.rb, for example.
|
409
|
-
require "#{Rails.root}/lib/my_app/config"
|
184
|
+
This functionality was available in some contexts only before.
|
410
185
|
|
411
|
-
|
412
|
-
config.foo = MyApp::Config.foo
|
413
|
-
```
|
186
|
+
*Simon Perepelitsa*
|
414
187
|
|
415
|
-
|
188
|
+
* Applications generated with `--skip-sprockets` no longer get `app/assets/config/manifest.js` and `app/assets/stylesheets/application.css`.
|
416
189
|
|
417
|
-
|
418
|
-
config.to_prepare do
|
419
|
-
config.foo = MyModel.foo
|
420
|
-
end
|
421
|
-
```
|
190
|
+
*Cindy Gao*
|
422
191
|
|
423
|
-
|
192
|
+
* Add support for stylesheets and ERB views to `rails stats`.
|
424
193
|
|
425
|
-
*
|
194
|
+
*Joel Hawksley*
|
426
195
|
|
427
|
-
*
|
196
|
+
* Allow appended root routes to take precedence over internal welcome controller.
|
428
197
|
|
429
|
-
*
|
198
|
+
*Gannon McGibbon*
|
430
199
|
|
431
200
|
|
432
|
-
Please check [6-
|
201
|
+
Please check [6-1-stable](https://github.com/rails/rails/blob/6-1-stable/railties/CHANGELOG.md) for previous changes.
|
data/MIT-LICENSE
CHANGED
data/RDOC_MAIN.rdoc
CHANGED
@@ -15,21 +15,21 @@ application into three layers: Model, View, and Controller, each with a specific
|
|
15
15
|
The <em><b>Model layer</b></em> represents the domain model (such as Account, Product,
|
16
16
|
Person, Post, etc.) and encapsulates the business logic specific to
|
17
17
|
your application. In \Rails, database-backed model classes are derived from
|
18
|
-
<tt>ActiveRecord::Base</tt>. {Active Record}[link
|
18
|
+
<tt>ActiveRecord::Base</tt>. {Active Record}[link:/files/activerecord/README_rdoc.html] allows you to present the data from
|
19
19
|
database rows as objects and embellish these data objects with business logic
|
20
20
|
methods. Although most \Rails models are backed by a database, models can also be ordinary
|
21
21
|
Ruby classes, or Ruby classes that implement a set of interfaces as provided by
|
22
|
-
the {Active Model}[link
|
22
|
+
the {Active Model}[link:/files/activemodel/README_rdoc.html] module.
|
23
23
|
|
24
24
|
== Controller layer
|
25
25
|
|
26
26
|
The <em><b>Controller layer</b></em> is responsible for handling incoming HTTP requests and
|
27
|
-
providing a suitable response. Usually this means returning \HTML, but \Rails controllers
|
27
|
+
providing a suitable response. Usually, this means returning \HTML, but \Rails controllers
|
28
28
|
can also generate XML, JSON, PDFs, mobile-specific views, and more. Controllers load and
|
29
|
-
manipulate models
|
29
|
+
manipulate models and render view templates in order to generate the appropriate HTTP response.
|
30
30
|
In \Rails, incoming requests are routed by Action Dispatch to an appropriate controller, and
|
31
31
|
controller classes are derived from <tt>ActionController::Base</tt>. Action Dispatch and Action Controller
|
32
|
-
are bundled together in {Action Pack}[link
|
32
|
+
are bundled together in {Action Pack}[link:/files/actionpack/README_rdoc.html].
|
33
33
|
|
34
34
|
== View layer
|
35
35
|
|
@@ -37,19 +37,19 @@ The <em><b>View layer</b></em> is composed of "templates" that are responsible f
|
|
37
37
|
appropriate representations of your application's resources. Templates can
|
38
38
|
come in a variety of formats, but most view templates are \HTML with embedded
|
39
39
|
Ruby code (ERB files). Views are typically rendered to generate a controller response,
|
40
|
-
or to generate the body of an email. In \Rails, View generation is handled by {Action View}[link
|
40
|
+
or to generate the body of an email. In \Rails, View generation is handled by {Action View}[link:/files/actionview/README_rdoc.html].
|
41
41
|
|
42
42
|
== Frameworks and libraries
|
43
43
|
|
44
|
-
{Active Record}[link
|
45
|
-
{Action Pack}[link
|
46
|
-
In addition to that, \Rails also comes with {Action Mailer}[link
|
47
|
-
to generate and send emails; {Action Mailbox}[link
|
48
|
-
{Active Job}[link
|
49
|
-
backends; {Action Cable}[link
|
50
|
-
integrate WebSockets with a \Rails application; {Active Storage}[link
|
51
|
-
a library to attach cloud and local files to \Rails applications; {Action Text}[link
|
52
|
-
and {Active Support}[link
|
44
|
+
{Active Record}[link:/files/activerecord/README_rdoc.html], {Active Model}[link:/files/activemodel/README_rdoc.html],
|
45
|
+
{Action Pack}[link:/files/actionpack/README_rdoc.html], and {Action View}[link:/files/actionview/README_rdoc.html] can each be used independently outside \Rails.
|
46
|
+
In addition to that, \Rails also comes with {Action Mailer}[link:/files/actionmailer/README_rdoc.html], a library
|
47
|
+
to generate and send emails; {Action Mailbox}[link:/files/actionmailbox/README_md.html], a library to receive emails within a Rails application;
|
48
|
+
{Active Job}[link:/files/activejob/README_md.html], a framework for declaring jobs and making them run on a variety of queueing
|
49
|
+
backends; {Action Cable}[link:/files/actioncable/README_md.html], a framework to
|
50
|
+
integrate WebSockets with a \Rails application; {Active Storage}[link:/files/activestorage/README_md.html],
|
51
|
+
a library to attach cloud and local files to \Rails applications; {Action Text}[link:/files/actiontext/README_md.html], a library to handle rich text content;
|
52
|
+
and {Active Support}[link:/files/activesupport/README_rdoc.html], a collection
|
53
53
|
of utility classes and standard library extensions that are useful for \Rails,
|
54
54
|
and may also be used independently outside \Rails.
|
55
55
|
|
@@ -72,7 +72,7 @@ and may also be used independently outside \Rails.
|
|
72
72
|
|
73
73
|
Run with <tt>--help</tt> or <tt>-h</tt> for options.
|
74
74
|
|
75
|
-
4. Go to <tt>http://localhost:3000</tt
|
75
|
+
4. Go to <tt>http://localhost:3000</tt>, and you'll see: "Yay! You’re on \Rails!"
|
76
76
|
|
77
77
|
5. Follow the guidelines to start developing your application. You may find the following resources handy:
|
78
78
|
|
data/README.rdoc
CHANGED