| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
While we don't want to change the form input when validations fail,
blindly using `_before_type_cast` will cause the input to display the
wrong data for any type which does additional work on database values.
|
|
|
|
|
|
|
| |
If you entered incorrect input into a form (particularly with a
numericality validation), we should not replace what you typed in with
`0`, since clicking submit a second time would essentially be the same
as erroneously accepting the junk input as 0.
|
|
|
|
| |
This reverts commit 787e22bb491bd8c36db1e9734261c4ce02c5c5fd.
|
|
|
|
|
|
|
|
|
|
|
| |
We should never be ignoring valuable information that the types may need
to give us. The reason that it originally used `_before_type_cast` is
unclear, but appears to date back long enough that the reasons may not
be relevant today. There is only one test that asserts that it uses the
before type cast version, but it gives no context as to why and uses a
mock which does not simulate the real world.
Fixes #18523.
|
| |
|
|\
| |
| |
| |
| |
| | |
tigrish/fix_custom_i18n_exception_handler_regression
Fix I18n regression introduced by #13832
|
| |
| |
| |
| | |
Previously, when the `:raise` options was set to `false`, it would get overwritten to `true`, preventing custom exception handlers to be used.
|
| |
| |
| |
| |
| | |
Since real timezone is loaded anyway in `#utc_offset`
which is called during `#create`
|
| |
| |
| |
| |
| |
| | |
Previously default translation keys that didn't end in `_html`, but came
after a missing key that ended in `_html` were being returned as
html_safe. Now they are not. Fixes #18257
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Make possible to use blocks with short version of render partial
Conflicts:
actionview/CHANGELOG.md
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Generate a hidden_tag when using a file_field
|
|/ / /
| | |
| | |
| | |
| | | |
This will avoid a error be raised when the only input on the form is the
`file_field`.
|
| | |
| | |
| | |
| | |
| | | |
before this PR IDENTIFIER_ERROR_MESSAGE could lead to misunderstand the convention of partial name.
Added OPTION_AS_ERROR_MESSAGE for unvalid charter in as option.
|
|\ \ \
| | | |
| | | | |
Add support for Reply-To field in mail_to helper
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit intends to clarify the scope of ActionView::RecordIdentifier
methods `dom_id` and `dom_class`.
Most of the current documentation comes from da257eb8 (7 years ago) when
the decoupling of ActionView, ActiveRecord and ActiveModel was not a concern.
Since then, steps have been taken to reach such decoupling.
Therefore I think it's important to show that ActionView::RecordIdentifier
**does not strictly depend on the ActiveRecord API**:
any class `Post` implementing `post.to_key` and `post.model_name.param_key`
will work.
This commit adds a test to prove that ActionView::RecordIdentifier methods
can also be used on objects that do not subclass ActiveRecord::Base.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
The `Sheep` fixture was added in eb23754e when moving template tests
from actionpack to actionview, but it's not actually used in ActionView tests.
The `Sheep` fixture is only used to test `uncountable` in ActiveModel tests,
and is already defined in activemodel/test/models/sheep.rb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After c2fe093, which was reverted yesterday, there will likely be
future PRs to address #17661.
The test `actionview/test/template/capture_helper_test.rb
#test_capture_returns_nil_if_the_returned_value_is_not_a_string` should
have errored with c2fe093, but it was rewritten in the PR to not raise.
My guess is that it may have seemed irrelevant to the content_tag tests
or already covered by them.
This test provides additional protection by being in the content_tag
test suite to explicitly raise a red flag in future cases. It foregoes
some redundancy for safety — at least until #17661 is closed.
|
| | |
|
| |
| |
| |
| | |
This reverts commit c2fe0938d7201d4ce0bb2f25e72bf5f70df128af.
|
| |
| |
| |
| |
| |
| |
| | |
This has been discussed in #17661 and partially reverts the changes made
in 9de83050d3a4b260d4aeb5d09ec4eb64f913ba64 and 986cac73e3c56b3dfa22fd1464f6913e38d32cc3
The test case added to content_for acts as a regression / acceptance test.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit moves a test from `test/template` to `test/activerecord` since the
test depends on ActiveRecord.
This matches the documentation from [RUNNING_UNIT_TESTS](https://github.com/rails/rails/blob/f28d1ddd507174ac233b773cc4f35c3c05ad32e7/actionview/RUNNING_UNIT_TESTS.rdoc):
> Test cases in the test/activerecord/ directory depend on having activerecord and sqlite3 installed.
> If Active Record is not in actionview/../activerecord directory, or the sqlite3 rubygem is not installed, these tests are skipped.
> Other tests are runnable from a fresh copy of actionview without any configuration.
---
More details about this commit.
All the tests starting with `require 'active_record_unit'` are already
inside `test/activerecord`, except for the one test this commit moves.
If you don't have `active_record` on your machine, the following command
currently fails on master:
```bash
```
|
| |
| |
| |
| | |
Fixes https://github.com/rails/rails/issues/17701.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since 06388b0 `form_tag` accepts the option `enforce_utf8` which, when set to
false, prevents the hidden "UTF8 enforcer" field from appearing in the output.
This commit implements the same behavior for `form_for`.
Stems from https://github.com/rails/rails/pull/17685#issuecomment-63871395
|
|/ |
|
| |
|
| |
|
|
|
|
|
| |
* use public_send instead of send to avoid calling private
methods in form helpers
|
| |
|
| |
|
|\
| |
| | |
Use include_blank value as option label
|
| |
| |
| |
| | |
Update select_tag to reflect documentation and behave the same as form builder select. If the value of include_blank is not boolean true, use that value as the option label.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit fixes the behavior of `file_field_tag` and `password_field_tag`
when invoked with a hash of options.
These two helpers are different from all the other ones in that they modify the
options hash passed as a parameter, whereas all the other helpers duplicate it
before updating it.
The result is that *bad things* can happen if the user re-uses the same hash.
For instance, users who write the following code to display a file field
followed by a text field (both with the same class):
```rhtml
<% options = {class: 'important'} %>
<%= file_field_tag 'Upload', options %>
<%= text_field_tag 'Name', options %>
```
would instead see **two file fields!**
```html
<input class="important" id="Upload" name="Upload" type="file">
<input class="important" id="Name" name="Name" type="file" value="value">
```
This PR replaces `update` with `merge` in the code of the two helpers,
fixing the issue above.
The included test verifies the change, since it passes after this PR, but
fails before with the following error:
```
Expected: <input type="text" name="title" id="title" value="Hello!" class="important" />
Actual: <input type="password" name="title" id="title" value="Hello!" class="important" />
```
|
| |
| |
| |
| |
| |
| | |
HTML doesn't care what order the elements are rendered in, so why should we?
Updates tests to use proper `assert_dom_equal` instead of `assert_equal` /cc @jeremy
|
| | |
|
|/ |
|
|
|
|
|
| |
This is much less common than string literal appends, so add a special
case method for it. Maybe fixes bug reported by @jeremy on 97ef636191933f1d4abc92fc10871e6d1195285c
|
|
|
|
|
|
|
| |
This reverts commit 21ec7fefea5a1b823cb88733b019b3d52240801d.
Per #16911, there's actually a good reason for a "blank" value to have a
useful `to_s` here. So let's also add some tests to prove that.
|
|
|
|
|
|
|
| |
Memoizing will not make possible to assert the output of the view if it
is changed after the first assert_select call
Related with plataformatec/simple_form#1130 and rails/rails-dom-testing#15
|
|
|
|
| |
not required include ActionView::Helpers::TagHelper in test as well
|
| |
|
| |
|
|\
| |
| | |
Provide a builder for form labels to customize wrapping around I18n content
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
fields"
|