railties 6.1.6.1 → 7.0.0.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +93 -417
- data/MIT-LICENSE +1 -1
- data/RDOC_MAIN.rdoc +16 -16
- data/README.rdoc +0 -1
- data/lib/rails/app_updater.rb +2 -4
- data/lib/rails/application/bootstrap.rb +17 -5
- data/lib/rails/application/configuration.rb +52 -31
- data/lib/rails/application/default_middleware_stack.rb +6 -3
- data/lib/rails/application/finisher.rb +43 -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 +6 -2
- data/lib/rails/commands/dbconsole/dbconsole_command.rb +16 -15
- 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 +2 -2
- data/lib/rails/engine.rb +23 -27
- 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 +66 -102
- 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/edit.html.erb.tt +8 -4
- data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +5 -27
- 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 +7 -16
- data/lib/rails/generators/erb.rb +1 -1
- data/lib/rails/generators/generated_attribute.rb +40 -4
- 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 +44 -88
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +41 -52
- 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 -10
- 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/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 +2 -11
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +9 -15
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +2 -7
- 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 +0 -5
- 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 +85 -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 +3 -0
- 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 +0 -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 +4 -2
- 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/models/%namespaced_name%/application_record.rb.tt +1 -1
- 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 -4
- 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 +3 -3
- 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 +9 -9
- data/lib/rails/ruby_version_check.rb +3 -3
- 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 +5 -1
- 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 +12 -10
- 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 +7 -5
- data/lib/rails/test_unit/testing.rake +4 -9
- data/lib/rails.rb +1 -0
- metadata +37 -39
- 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/cookies_serializer.rb.tt +0 -5
- 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/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: 809add07149bc6a8fc6bd9e1848b4237e6a39642319d686c0e5e7c1ff005a0fe
|
4
|
+
data.tar.gz: 3676fc831492d4e660fe82b657b25630373e1176d5dfc0d6375857aa0de0d0cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 136de74c284cec25a993107e665b70f0732116b770c0ca3081b2b9f6a2366046d318d0153da438b557485aadb18ab0850c7135c20ef662154418e1690a0f8788
|
7
|
+
data.tar.gz: a6ad192510bd25f054e931fcbb7ef7fa3c34cbc90a9445d7b8ca173c9c2f58b5ffd40e33b10ddb27d7cdf5cf026ebb5e2a9cd7e6637804d291e922310fc795c8
|
data/CHANGELOG.md
CHANGED
@@ -1,489 +1,165 @@
|
|
1
|
-
## Rails
|
1
|
+
## Rails 7.0.0.alpha1 (September 15, 2021) ##
|
2
2
|
|
3
|
-
*
|
3
|
+
* New and upgraded Rails apps no longer generate `config/initializers/application_controller_renderer.rb`
|
4
|
+
or `config/initializers/cookies_serializer.rb`
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
* No changes.
|
9
|
-
|
10
|
-
|
11
|
-
## Rails 6.1.5 (March 09, 2022) ##
|
12
|
-
|
13
|
-
* In `zeitwerk` mode, setup the `once` autoloader first, and the `main` autoloader after it.
|
14
|
-
This order plays better with shared namespaces.
|
15
|
-
|
16
|
-
*Xavier Noria*
|
17
|
-
|
18
|
-
* Handle paths with spaces when editing credentials.
|
6
|
+
The default value for `cookies_serializer` (`:json`) has been moved to `config.load_defaults("7.0")`.
|
7
|
+
The new framework defaults file sets the serializer to `:marshal`.
|
19
8
|
|
20
9
|
*Alex Ghiculescu*
|
21
10
|
|
22
|
-
*
|
23
|
-
|
24
|
-
*Nat Morcos*
|
25
|
-
|
26
|
-
|
27
|
-
## Rails 6.1.4.7 (March 08, 2022) ##
|
28
|
-
|
29
|
-
* No changes.
|
30
|
-
|
31
|
-
|
32
|
-
## Rails 6.1.4.6 (February 11, 2022) ##
|
33
|
-
|
34
|
-
* No changes.
|
35
|
-
|
36
|
-
|
37
|
-
## Rails 6.1.4.5 (February 11, 2022) ##
|
38
|
-
|
39
|
-
* No changes.
|
40
|
-
|
41
|
-
|
42
|
-
## Rails 6.1.4.4 (December 15, 2021) ##
|
43
|
-
|
44
|
-
* No changes.
|
45
|
-
|
46
|
-
|
47
|
-
## Rails 6.1.4.3 (December 14, 2021) ##
|
48
|
-
|
49
|
-
* Allow localhost with a port by default in development
|
50
|
-
|
51
|
-
[Fixes: #43864]
|
52
|
-
|
53
|
-
## Rails 6.1.4.2 (December 14, 2021) ##
|
54
|
-
|
55
|
-
* No changes.
|
56
|
-
|
57
|
-
|
58
|
-
## Rails 6.1.4.1 (August 19, 2021) ##
|
59
|
-
|
60
|
-
* No changes.
|
61
|
-
|
62
|
-
|
63
|
-
## Rails 6.1.4 (June 24, 2021) ##
|
64
|
-
|
65
|
-
* Fix compatibility with `psych >= 4`.
|
66
|
-
|
67
|
-
Starting in Psych 4.0.0 `YAML.load` behaves like `YAML.safe_load`. To preserve compatibility
|
68
|
-
`Rails.application.config_for` now uses `YAML.unsafe_load` if available.
|
69
|
-
|
70
|
-
*Jean Boussier*
|
71
|
-
|
72
|
-
* Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
|
73
|
-
|
74
|
-
*Jean Boussier*
|
75
|
-
|
76
|
-
* Fix create migration generator with `--pretend` option.
|
77
|
-
|
78
|
-
*euxx*
|
79
|
-
|
80
|
-
|
81
|
-
## Rails 6.1.3.2 (May 05, 2021) ##
|
82
|
-
|
83
|
-
* No changes.
|
84
|
-
|
85
|
-
|
86
|
-
## Rails 6.1.3.1 (March 26, 2021) ##
|
87
|
-
|
88
|
-
* No changes.
|
89
|
-
|
90
|
-
|
91
|
-
## Rails 6.1.3 (February 17, 2021) ##
|
92
|
-
|
93
|
-
* No changes.
|
94
|
-
|
95
|
-
|
96
|
-
## Rails 6.1.2.1 (February 10, 2021) ##
|
97
|
-
|
98
|
-
* No changes.
|
99
|
-
|
100
|
-
|
101
|
-
## Rails 6.1.2 (February 09, 2021) ##
|
102
|
-
|
103
|
-
* No changes.
|
104
|
-
|
105
|
-
|
106
|
-
## Rails 6.1.1 (January 07, 2021) ##
|
107
|
-
|
108
|
-
* Allow spaces in path to Yarn binstub and only run on precompile if needed.
|
109
|
-
|
110
|
-
*Markus Doits*
|
111
|
-
|
112
|
-
* Populate ARGV for app template.
|
113
|
-
|
114
|
-
Fixes #40945.
|
115
|
-
|
116
|
-
*Jonathan Hefner*
|
117
|
-
|
118
|
-
|
119
|
-
## Rails 6.1.0 (December 09, 2020) ##
|
120
|
-
|
121
|
-
* Added `Railtie#server` hook called when Rails starts a server.
|
122
|
-
This is useful in case your application or a library needs to run
|
123
|
-
another process next to the Rails server. This is quite common in development
|
124
|
-
for instance to run the Webpack or the React server.
|
125
|
-
|
126
|
-
It can be used like this:
|
127
|
-
|
128
|
-
```ruby
|
129
|
-
class MyRailtie < Rails::Railtie
|
130
|
-
server do
|
131
|
-
WebpackServer.run
|
132
|
-
end
|
133
|
-
end
|
134
|
-
```
|
135
|
-
|
136
|
-
*Edouard Chin*
|
137
|
-
|
138
|
-
* Remove deprecated `rake dev:cache` tasks.
|
139
|
-
|
140
|
-
*Rafael Mendonça França*
|
141
|
-
|
142
|
-
* Remove deprecated `rake routes` tasks.
|
143
|
-
|
144
|
-
*Rafael Mendonça França*
|
145
|
-
|
146
|
-
* Remove deprecated `rake initializers` tasks.
|
147
|
-
|
148
|
-
*Rafael Mendonça França*
|
149
|
-
|
150
|
-
* Remove deprecated support for using the `HOST` environment variable to specify the server IP.
|
151
|
-
|
152
|
-
*Rafael Mendonça França*
|
153
|
-
|
154
|
-
* Remove deprecated `server` argument from the rails server command.
|
155
|
-
|
156
|
-
*Rafael Mendonça França*
|
157
|
-
|
158
|
-
* Remove deprecated `SOURCE_ANNOTATION_DIRECTORIES` environment variable support from `rails notes`.
|
159
|
-
|
160
|
-
*Rafael Mendonça França*
|
161
|
-
|
162
|
-
* Remove deprecated `connection` option in the `rails dbconsole` command.
|
163
|
-
|
164
|
-
*Rafael Mendonça França*
|
165
|
-
|
166
|
-
* Remove depreated `rake notes` tasks.
|
167
|
-
|
168
|
-
*Rafael Mendonça França*
|
169
|
-
|
170
|
-
* Return a 405 Method Not Allowed response when a request uses an unknown HTTP method.
|
171
|
-
|
172
|
-
Fixes #38998.
|
173
|
-
|
174
|
-
*Loren Norman*
|
175
|
-
|
176
|
-
* Make railsrc file location xdg-specification compliant
|
177
|
-
|
178
|
-
`rails new` will now look for the default `railsrc` file at
|
179
|
-
`$XDG_CONFIG_HOME/rails/railsrc` (or `~/.config/rails/railsrc` if
|
180
|
-
`XDG_CONFIG_HOME` is not set). If this file does not exist, `rails new`
|
181
|
-
will fall back to `~/.railsrc`.
|
182
|
-
|
183
|
-
The fallback behaviour means this does not cause any breaking changes.
|
184
|
-
|
185
|
-
*Nick Wolf*
|
186
|
-
|
187
|
-
* Change the default logging level from :debug to :info to avoid inadvertent exposure of personally
|
188
|
-
identifiable information (PII) in production environments.
|
189
|
-
|
190
|
-
*Eric M. Payne*
|
191
|
-
|
192
|
-
* Automatically generate abstract class when using multiple databases.
|
193
|
-
|
194
|
-
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.
|
195
|
-
|
196
|
-
Usage:
|
197
|
-
|
198
|
-
```bash
|
199
|
-
$ bin/rails generate scaffold Pet name:string --database=animals
|
200
|
-
```
|
201
|
-
|
202
|
-
Will create an abstract class for the animals connection.
|
203
|
-
|
204
|
-
```ruby
|
205
|
-
class AnimalsRecord < ApplicationRecord
|
206
|
-
self.abstract_class = true
|
207
|
-
|
208
|
-
connects_to database: { writing: :animals }
|
209
|
-
end
|
210
|
-
```
|
211
|
-
|
212
|
-
And generate a `Pet` model that inherits from the new `AnimalsRecord`:
|
213
|
-
|
214
|
-
```ruby
|
215
|
-
class Pet < AnimalsRecord
|
216
|
-
end
|
217
|
-
```
|
218
|
-
|
219
|
-
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.
|
220
|
-
|
221
|
-
```bash
|
222
|
-
$ bin/rails generate scaffold Pet name:string --database=animals --parent=SecondaryBase
|
223
|
-
```
|
224
|
-
|
225
|
-
This will ensure the model inherits from the `SecondaryBase` parent instead of `AnimalsRecord`
|
226
|
-
|
227
|
-
```ruby
|
228
|
-
class Pet < SecondaryBase
|
229
|
-
end
|
230
|
-
```
|
231
|
-
|
232
|
-
*Eileen M. Uchitelle*, *John Crepezzi*
|
233
|
-
|
234
|
-
* Accept params from url to prepopulate the Inbound Emails form in Rails conductor.
|
235
|
-
|
236
|
-
*Chris Oliver*
|
237
|
-
|
238
|
-
* Create a new rails app using a minimal stack.
|
239
|
-
|
240
|
-
`rails new cool_app --minimal`
|
241
|
-
|
242
|
-
All the following are excluded from your minimal stack:
|
243
|
-
|
244
|
-
- action_cable
|
245
|
-
- action_mailbox
|
246
|
-
- action_mailer
|
247
|
-
- action_text
|
248
|
-
- active_job
|
249
|
-
- active_storage
|
250
|
-
- bootsnap
|
251
|
-
- jbuilder
|
252
|
-
- spring
|
253
|
-
- system_tests
|
254
|
-
- turbolinks
|
255
|
-
- webpack
|
256
|
-
|
257
|
-
*Haroon Ahmed*, *DHH*
|
258
|
-
|
259
|
-
* Add default ENV variable option with BACKTRACE to turn off backtrace cleaning when debugging framework code in the
|
260
|
-
generated config/initializers/backtrace_silencers.rb.
|
261
|
-
|
262
|
-
`BACKTRACE=1 ./bin/rails runner "MyClass.perform"`
|
263
|
-
|
264
|
-
*DHH*
|
265
|
-
|
266
|
-
* The autoloading guide for Zeitwerk mode documents how to autoload classes
|
267
|
-
during application boot in a safe way.
|
268
|
-
|
269
|
-
*Haroon Ahmed*, *Xavier Noria*
|
270
|
-
|
271
|
-
* The `classic` autoloader starts its deprecation cycle.
|
272
|
-
|
273
|
-
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.
|
11
|
+
* New applications get a dependency on the new `debug` gem, replacing `byebug`.
|
274
12
|
|
275
13
|
*Xavier Noria*
|
276
14
|
|
277
|
-
*
|
278
|
-
|
279
|
-
This runs all test files in the test directory, including system tests.
|
280
|
-
|
281
|
-
*Niklas Häusele*
|
282
|
-
|
283
|
-
* Add `config.generators.after_generate` for processing to generated files.
|
284
|
-
|
285
|
-
Register a callback that will get called right after generators has finished.
|
286
|
-
|
287
|
-
*Yuji Yaginuma*
|
288
|
-
|
289
|
-
* Make test file patterns configurable via Environment variables
|
290
|
-
|
291
|
-
This makes test file patterns configurable via two environment variables:
|
292
|
-
`DEFAULT_TEST`, to configure files to test, and `DEFAULT_TEST_EXCLUDE`,
|
293
|
-
to configure files to exclude from testing.
|
294
|
-
|
295
|
-
These values were hardcoded before, which made it difficult to add
|
296
|
-
new categories of tests that should not be executed by default (e.g:
|
297
|
-
smoke tests).
|
15
|
+
* Add SSL support for postgresql in `bin/rails dbconsole`.
|
298
16
|
|
299
|
-
|
17
|
+
Fixes #43114.
|
300
18
|
|
301
|
-
*
|
19
|
+
*Michael Bayucot*
|
302
20
|
|
303
|
-
|
21
|
+
* Add support for comments above gem declaration in Rails application templates, e.g. `gem("nokogiri", comment: "For XML")`.
|
304
22
|
|
305
|
-
*
|
23
|
+
*Linas Juškevičius*
|
306
24
|
|
307
|
-
*
|
25
|
+
* The setter `config.autoloader=` has been deleted. `zeitwerk` is the only
|
26
|
+
available autoloading mode.
|
308
27
|
|
309
|
-
*
|
310
|
-
|
311
|
-
* Add `rack-mini-profiler` gem to the default `Gemfile`.
|
312
|
-
|
313
|
-
`rack-mini-profiler` displays performance information such as SQL time and flame graphs.
|
314
|
-
It's enabled by default in development environment, but can be enabled in production as well.
|
315
|
-
See the gem [README](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md) for information on how to enable it in production.
|
316
|
-
|
317
|
-
*Osama Sayegh*
|
318
|
-
|
319
|
-
* `rails stats` will now count TypeScript files toward JavaScript stats.
|
320
|
-
|
321
|
-
*Joshua Cody*
|
322
|
-
|
323
|
-
* Run `git init` when generating plugins.
|
28
|
+
*Xavier Noria*
|
324
29
|
|
325
|
-
|
30
|
+
* `config.autoload_once_paths` can be configured in the body of the
|
31
|
+
application class defined in `config/application.rb` or in the configuration
|
32
|
+
for environments in `config/environments/*`.
|
326
33
|
|
327
|
-
|
34
|
+
Similarly, engines can configure that collection in the class body of the
|
35
|
+
engine class or in the configuration for environments.
|
328
36
|
|
329
|
-
|
37
|
+
After that, the collection is frozen, and you can autoload from those paths.
|
38
|
+
They are managed by the `Rails.autoloaders.once` autoloader, which does not
|
39
|
+
reload, only autoloads/eager loads.
|
330
40
|
|
331
|
-
|
41
|
+
*Xavier Noria*
|
332
42
|
|
333
|
-
|
43
|
+
* During initialization, you cannot autoload reloadable classes or modules
|
44
|
+
like application models, unless they are wrapped in a `to_prepare` block.
|
45
|
+
For example, from `config/initializers/*`, or in application, engines, or
|
46
|
+
railties initializers.
|
334
47
|
|
335
|
-
|
336
|
-
|
48
|
+
Please check the [autoloading
|
49
|
+
guide](https://guides.rubyonrails.org/v7.0/autoloading_and_reloading_constants.html#autoloading-when-the-application-boots)
|
50
|
+
for details.
|
337
51
|
|
338
|
-
|
339
|
-
`ruby script/benchmarks/opt_compare.rb`
|
52
|
+
*Xavier Noria*
|
340
53
|
|
341
|
-
|
54
|
+
* While they are allowed to have elements in common, it is no longer required
|
55
|
+
that `config.autoload_once_paths` is a subset of `config.autoload_paths`.
|
56
|
+
The former are managed by the `once` autoloader. The `main` autoloader
|
57
|
+
manages the latter minus the former.
|
342
58
|
|
343
|
-
*
|
59
|
+
*Xavier Noria*
|
344
60
|
|
345
|
-
|
346
|
-
disabled in `environments/test.rb`. This implicitly disables caching
|
347
|
-
view templates too. This change will enable view template caching by
|
348
|
-
adding this to the generated `environments/test.rb`:
|
61
|
+
* Show Rake task description if command is run with `-h`.
|
349
62
|
|
350
|
-
|
351
|
-
|
352
|
-
```
|
63
|
+
Adding `-h` (or `--help`) to a Rails command that's a Rake task now outputs
|
64
|
+
the task description instead of the general Rake help.
|
353
65
|
|
354
|
-
*
|
66
|
+
*Petrik de Heus*
|
355
67
|
|
356
|
-
*
|
68
|
+
* Add missing `plugin new` command to help.
|
357
69
|
|
358
|
-
|
359
|
-
move it from one place to another in the stack:
|
70
|
+
*Petrik de Heus
|
360
71
|
|
361
|
-
|
362
|
-
config.middleware.move_before ActionDispatch::Flash, Magical::Unicorns
|
363
|
-
```
|
72
|
+
* Fix `config_for` error when there's only a shared root array.
|
364
73
|
|
365
|
-
|
366
|
-
`ActionDispatch::Flash`. You can also move it after with:
|
74
|
+
*Loïc Delmaire*
|
367
75
|
|
368
|
-
|
369
|
-
config.middleware.move_after ActionDispatch::Flash, Magical::Unicorns
|
370
|
-
```
|
76
|
+
* Raise an error in generators if an index type is invalid.
|
371
77
|
|
372
|
-
*
|
78
|
+
*Petrik de Heus*
|
373
79
|
|
374
|
-
*
|
80
|
+
* `package.json` now uses a strict version constraint for Rails JavaScript packages on new Rails apps.
|
375
81
|
|
376
|
-
*
|
82
|
+
*Zachary Scott*, *Alex Ghiculescu*
|
377
83
|
|
378
|
-
*
|
84
|
+
* Modified scaffold generator template so that running
|
85
|
+
`rails g scaffold Author` no longer generates tests called "creating
|
86
|
+
a Author", "updating a Author", and "destroying a Author".
|
379
87
|
|
380
|
-
|
88
|
+
Fixes #40744.
|
381
89
|
|
382
|
-
|
90
|
+
*Michael Duchemin*
|
383
91
|
|
384
|
-
|
92
|
+
* Raise an error in generators if a field type is invalid.
|
385
93
|
|
386
|
-
*
|
94
|
+
*Petrik de Heus*
|
387
95
|
|
388
|
-
|
96
|
+
* `bin/rails tmp:clear` deletes also files and directories in `tmp/storage`.
|
389
97
|
|
390
|
-
|
391
|
-
config.generators do |g|
|
392
|
-
g.orm :active_record, primary_key_type: :uuid
|
393
|
-
end
|
394
|
-
```
|
98
|
+
*George Claghorn*
|
395
99
|
|
396
|
-
|
100
|
+
* Fix compatibility with `psych >= 4`.
|
397
101
|
|
398
|
-
|
399
|
-
|
400
|
-
```
|
102
|
+
Starting in Psych 4.0.0 `YAML.load` behaves like `YAML.safe_load`. To preserve compatibility
|
103
|
+
`Rails.application.config_for` now uses `YAML.unsafe_load` if available.
|
401
104
|
|
402
|
-
|
403
|
-
This change causes the type to be applied appropriately.
|
105
|
+
*Jean Boussier*
|
404
106
|
|
405
|
-
|
107
|
+
* Allow loading nested locales in engines.
|
406
108
|
|
407
|
-
*
|
109
|
+
*Gannon McGibbon*
|
408
110
|
|
409
|
-
|
111
|
+
* Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
|
410
112
|
|
411
|
-
*
|
113
|
+
*Jean Boussier*
|
412
114
|
|
413
|
-
* `
|
115
|
+
* Remove `Rack::Runtime` from the default middleware stack and deprecate
|
116
|
+
referencing it in middleware operations without adding it back.
|
414
117
|
|
415
|
-
|
416
|
-
# config/example.yml
|
417
|
-
shared:
|
418
|
-
foo:
|
419
|
-
bar:
|
420
|
-
baz: 1
|
421
|
-
development:
|
422
|
-
foo:
|
423
|
-
bar:
|
424
|
-
qux: 2
|
425
|
-
```
|
118
|
+
*Hartley McGuire*
|
426
119
|
|
427
|
-
|
428
|
-
# Previously
|
429
|
-
Rails.application.config_for(:example)[:foo][:bar] #=> { qux: 2 }
|
120
|
+
* Allow adding additional authorized hosts in development via `ENV['RAILS_DEVELOPMENT_HOSTS']`.
|
430
121
|
|
431
|
-
|
432
|
-
Rails.application.config_for(:example)[:foo][:bar] #=> { baz: 1, qux: 2 }
|
433
|
-
```
|
122
|
+
*Josh Abernathy*, *Debbie Milburn*
|
434
123
|
|
435
|
-
|
124
|
+
* Add app concern and test keepfiles to generated engine plugins.
|
436
125
|
|
437
|
-
*
|
126
|
+
*Gannon McGibbon*
|
438
127
|
|
439
|
-
|
440
|
-
# config/example.yml
|
441
|
-
development:
|
442
|
-
options:
|
443
|
-
key: value
|
444
|
-
```
|
128
|
+
* Stop generating a license for in-app plugins.
|
445
129
|
|
446
|
-
|
447
|
-
Rails.application.config_for(:example).options
|
448
|
-
```
|
130
|
+
*Gannon McGibbon*
|
449
131
|
|
450
|
-
|
132
|
+
* `rails app:update` no longer prompts you to overwrite files that are generally modified in the
|
133
|
+
course of developing a Rails app. See [#41083](https://github.com/rails/rails/pull/41083) for
|
134
|
+
the full list of changes.
|
451
135
|
|
452
|
-
|
136
|
+
*Alex Ghiculescu*
|
453
137
|
|
454
|
-
*
|
455
|
-
now able to modify `autoload_paths`, `autoload_once_paths`, and
|
456
|
-
`eager_load_paths`.
|
138
|
+
* Change default branch for new Rails projects and plugins to `main`.
|
457
139
|
|
458
|
-
|
140
|
+
*Prateek Choudhary*
|
459
141
|
|
460
|
-
|
142
|
+
* The new method `Rails.benchmark` gives you a quick way to measure and log the execution time taken by a block:
|
461
143
|
|
462
|
-
|
144
|
+
def test_expensive_stuff
|
145
|
+
Rails.benchmark("test_expensive_stuff") { ... }
|
146
|
+
end
|
463
147
|
|
464
|
-
|
465
|
-
# In config/application.rb, for example.
|
466
|
-
require "#{Rails.root}/lib/my_app/config"
|
148
|
+
This functionality was available in some contexts only before.
|
467
149
|
|
468
|
-
|
469
|
-
config.foo = MyApp::Config.foo
|
470
|
-
```
|
150
|
+
*Simon Perepelitsa*
|
471
151
|
|
472
|
-
|
152
|
+
* Applications generated with `--skip-sprockets` no longer get `app/assets/config/manifest.js` and `app/assets/stylesheets/application.css`.
|
473
153
|
|
474
|
-
|
475
|
-
config.to_prepare do
|
476
|
-
config.foo = MyModel.foo
|
477
|
-
end
|
478
|
-
```
|
154
|
+
*Cindy Gao*
|
479
155
|
|
480
|
-
|
156
|
+
* Add support for stylesheets and ERB views to `rails stats`.
|
481
157
|
|
482
|
-
*
|
158
|
+
*Joel Hawksley*
|
483
159
|
|
484
|
-
*
|
160
|
+
* Allow appended root routes to take precedence over internal welcome controller.
|
485
161
|
|
486
|
-
*
|
162
|
+
*Gannon McGibbon*
|
487
163
|
|
488
164
|
|
489
|
-
Please check [6-
|
165
|
+
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
|
|