2017-12-02 13:45:10 -05:00
|
|
|
* Fix issue with `button_to`'s `to_form_params`
|
|
|
|
|
|
|
|
`button_to` was throwing exception when invoked with `params` hash that
|
|
|
|
contains symbol and string keys. The reason for the exception was that
|
|
|
|
`to_form_params` was comparing the given symbol and string keys.
|
|
|
|
|
|
|
|
The issue is fixed by turning all keys to strings inside
|
|
|
|
`to_form_params` before comparing them.
|
|
|
|
|
|
|
|
*Georgi Georgiev*
|
|
|
|
|
2018-07-03 20:42:53 -04:00
|
|
|
* Mark arrays of translations as trusted safe by using the `_html` suffix.
|
|
|
|
|
|
|
|
Example:
|
2018-07-03 16:28:24 -04:00
|
|
|
|
|
|
|
en:
|
|
|
|
foo_html:
|
|
|
|
- "One"
|
|
|
|
- "<strong>Two</strong>"
|
|
|
|
- "Three 👋 🙂"
|
|
|
|
|
|
|
|
*Juan Broullon*
|
|
|
|
|
2018-03-06 08:27:23 -05:00
|
|
|
* Add `year_format` option to date_select tag. This option makes it possible to customize year
|
2018-06-21 04:00:45 -04:00
|
|
|
names. Lambda should be passed to use this option.
|
|
|
|
|
|
|
|
Example:
|
2018-03-06 08:27:23 -05:00
|
|
|
|
|
|
|
date_select('user_birthday', '', start_year: 1998, end_year: 2000, year_format: ->year { "Heisei #{year - 1988}" })
|
|
|
|
|
2018-07-03 16:28:24 -04:00
|
|
|
The HTML produced:
|
2018-03-06 08:27:23 -05:00
|
|
|
|
|
|
|
<select id="user_birthday__1i" name="user_birthday[(1i)]">
|
|
|
|
<option value="1998">Heisei 10</option>
|
|
|
|
<option value="1999">Heisei 11</option>
|
|
|
|
<option value="2000">Heisei 12</option>
|
|
|
|
</select>
|
|
|
|
/* The rest is omitted */
|
|
|
|
|
|
|
|
*Koki Ryu*
|
|
|
|
|
2018-04-17 02:00:57 -04:00
|
|
|
* Fix JavaScript views rendering does not work with Firefox when using
|
|
|
|
Content Security Policy.
|
|
|
|
|
|
|
|
Fixes #32577.
|
|
|
|
|
|
|
|
*Yuji Yaginuma*
|
|
|
|
|
2018-04-17 11:05:12 -04:00
|
|
|
* Add the `nonce: true` option for `javascript_include_tag` helper to
|
|
|
|
support automatic nonce generation for Content Security Policy.
|
|
|
|
Works the same way as `javascript_tag nonce: true` does.
|
|
|
|
|
|
|
|
*Yaroslav Markin*
|
|
|
|
|
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.
|