2018-04-07 04:24:17 -04:00
|
|
|
* Remove `ActionView::Helpers::RecordTagHelper`.
|
2018-04-06 13:50:57 -04:00
|
|
|
|
|
|
|
*Yoshiyuki Hirano*
|
|
|
|
|
2018-04-07 04:24:17 -04:00
|
|
|
* Disable `ActionView::Template` finalizers in test environment.
|
Add `action_view.finalize_compiled_template_methods` config option
ActionView::Template instances compile their source to methods on the
ActionView::CompiledTemplates module. To prevent leaks in development
mode, where templates can frequently change, a finalizer is added that
undefines these methods[1] when the templates are garbage-collected.
This is undesirable in the test environment, however, as templates don't
change during the life of the test. Moreover, the cost of undefining a
method is proportional to the number of descendants a class or module
has, since the method cache must be cleared for all descendant classes.
As ActionView::CompiledTemplates is mixed into every
ActionView::TestCase (or in RSpec suites, every view spec example
group), it can end up with a very large number of descendants, and
undefining its methods can become very expensive.
In large test suites, this results in a long delay at the end of the
test suite as all template finalizers are run, only for the process to
then exit.
To avoid this unnecessary cost, this change adds a config option,
`action_view.finalize_compiled_template_methods`, defaulting to true,
and sets it to false in the test environment only.
[1] https://github.com/rails/rails/blob/09b2348f7fc8d4e7191e70e06608c5909067e2aa/actionview/lib/action_view/template.rb#L118-L126
2018-03-30 17:45:57 -04:00
|
|
|
|
|
|
|
Template finalization can be expensive in large view test suites.
|
|
|
|
Add a configuration option,
|
|
|
|
`action_view.finalize_compiled_template_methods`, and turn it off in
|
|
|
|
the test environment.
|
|
|
|
|
|
|
|
*Simon Coffey*
|
|
|
|
|
2018-04-01 08:15:36 -04:00
|
|
|
* Extract the `confirm` call in its own, overridable method in `rails_ujs`.
|
|
|
|
Example :
|
|
|
|
Rails.confirm = function(message, element) {
|
|
|
|
return (my_bootstrap_modal_confirm(message));
|
|
|
|
}
|
|
|
|
|
|
|
|
*Mathieu Mahé*
|
|
|
|
|
2018-02-22 13:37:15 -05:00
|
|
|
* Enable select tag helper to mark `prompt` option as `selected` and/or `disabled` for `required`
|
|
|
|
field. Example:
|
2018-02-28 06:45:35 -05:00
|
|
|
|
2018-03-11 16:22:20 -04:00
|
|
|
select :post,
|
|
|
|
:category,
|
|
|
|
["lifestyle", "programming", "spiritual"],
|
|
|
|
{ selected: "", disabled: "", prompt: "Choose one" },
|
2018-02-22 13:37:15 -05:00
|
|
|
{ required: true }
|
2018-02-28 06:45:35 -05:00
|
|
|
|
2018-02-22 13:37:15 -05:00
|
|
|
Placeholder option would be selected and disabled. The HTML produced:
|
2018-02-28 06:45:35 -05:00
|
|
|
|
2018-02-22 13:37:15 -05:00
|
|
|
<select required="required" name="post[category]" id="post_category">
|
|
|
|
<option disabled="disabled" selected="selected" value="">Choose one</option>
|
|
|
|
<option value="lifestyle">lifestyle</option>
|
|
|
|
<option value="programming">programming</option>
|
|
|
|
<option value="spiritual">spiritual</option></select>
|
|
|
|
|
|
|
|
*Sergey Prikhodko*
|
|
|
|
|
2018-03-11 16:22:20 -04:00
|
|
|
* Don't enforce UTF-8 by default.
|
2018-02-27 06:07:04 -05:00
|
|
|
|
|
|
|
With the disabling of TLS 1.0 by most major websites, continuing to run
|
|
|
|
IE8 or lower becomes increasingly difficult so default to not enforcing
|
|
|
|
UTF-8 encoding as it's not relevant to other browsers.
|
|
|
|
|
|
|
|
*Andrew White*
|
|
|
|
|
2016-10-16 08:21:03 -04:00
|
|
|
* Change translation key of `submit_tag` from `module_name_class_name` to `module_name/class_name`.
|
|
|
|
|
|
|
|
*Rui Onodera*
|
|
|
|
|
2018-02-17 16:02:18 -05:00
|
|
|
* Rails 6 requires Ruby 2.4.1 or newer.
|
|
|
|
|
|
|
|
*Jeremy Daer*
|
2017-12-01 11:56:45 -05:00
|
|
|
|
|
|
|
|
2018-01-30 18:51:17 -05:00
|
|
|
Please check [5-2-stable](https://github.com/rails/rails/blob/5-2-stable/actionview/CHANGELOG.md) for previous changes.
|