| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
* use public_send instead of send to avoid calling private
methods in form helpers
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch uniformizes warning messages. I used the most common style
already present in the code base:
* Capitalize the first word.
* End the message with a full stop.
* "Rails 5" instead of "Rails 5.0".
* Backticks for method names and inline code.
Also, converted a few long strings into the new heredoc convention.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current style for warning messages without newlines uses
concatenation of string literals with manual trailing spaces
where needed.
Heredocs have better readability, and with `squish` we can still
produce a single line.
This is a similar use case to the one that motivated defining
`strip_heredoc`, heredocs are super clean.
|
|
|
|
|
| |
The character "*" is unnecessary in option candidates.
This incorrect markup was injected in e8c9aeca .
|
| |
|
| |
|
|\
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
- Clarify that arguments are expected in array format.
- Extension of https://github.com/rails/rails/pull/17390.
- https://github.com/rails/rails/pull/17390 was targeted against
4-1-stable branch. This commit updates master.
- [ci skip]
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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" />
```
|
|\ \
| | |
| | | |
Remove duplicate stringify_keys in text_field_tag and number_field_tag
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All the methods that invoke `text_field_tag` (such as `hidden_field_tag`)
and all the methods that invoke `number_field_tag` (that is `range_field_tag`)
do not need to call `stringify_keys` on their `options` parameter since the
`text_field_tag` method [is already doing it internally](https://github.com/claudiob/rails/blob/4159134524f4c78d008eef9d9a17f73a3172dcc8/actionview/lib/action_view/helpers/form_tag_helper.rb#L182):
```ruby
def text_field_tag(name, value = nil, options = {})
tag :input, { "type" => "text", "name" => name, "id" => sanitize_to_id(name), "value" => value }.update(options.stringify_keys)
end
```
and `number_field_tag` is [already doing it internally](https://github.com/claudiob/rails/blob/e3207bdbba55f3806441f22b175557579bc0b051/actionview/lib/action_view/helpers/form_tag_helper.rb#L780) as well:
```ruby
def number_field_tag(name, value = nil, options = {})
options = options.stringify_keys
...
end
[Note #1: My code uses `merge` to respect the existing behavior of
duplicating the `options` hash before updating its keys, see https://github.com/rails/rails/pull/17096#issuecomment-57223827]
[Note #2: My code uses symbols instead of strings (e.g.: `:hidden`) to look
forward to future version of Ruby/Raiks (GC symbols); the result of the method,
however, is the same, because the symbols are stringified inside `text_field_tag`]
[Note #3: I had previously created a similar PR #17096 but decided to
split it into multiple PRs given the feedback received in the comments]
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
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 to match the changes in Rails Dom Testing rails/rails-dom-testing#20.
|
| | |
|
|/ |
|
|
|
|
| |
This reverts commit 585e75696b31395aee895e5366e331c07c3f5ee1.
|
|
|
|
|
|
|
| |
This reverts commit 07635a74b5ee08dcba3f6617def6230d8f114fe5, reversing
changes made to 1b5f61a025b6ce1ee52b7148e3ed2a9acbde28b9.
Reason: it's not ready :bomb:, see https://github.com/rails/rails/pull/16888#issuecomment-56400816
|
|\
| |
| |
| | |
Changes default render behavior from file to template.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ci skip]
89ff1f8 and 1de258e6 removed from the HTML generated by the form helpers
the <div> that was wrapping the field elements inside the <form>.
This commit updates the documentation of the methods to reflect the
two commits above.
|
|\ \
| | |
| | |
| | |
| | | |
Explain ERB space removal.
[ci skip]
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
ERB compiler guarantees safe_append= will be called with a string, so
nil checks don't make sense. Anything else calling this method should
check for nil themselves before calling
|
| |/
|/|
| |
| |
| |
| |
| | |
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
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
Now we keep only the common code and move the specific code to the gems
|
|
|
|
|
|
|
|
|
| |
When we are loading a component and we want to know its version, we are
actually not speaking about the constant but the library itself.
[ci skip]
[Godfrey Chan & Xavier Noria]
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
the ERB has already been compiled to Ruby code by the time we're calling
module_eval. Nothing that module eval raises will be caught by a blank
`rescue`, so I think we can remove this
|
| |\
| | |
| | | |
Provide a builder for form labels to customize wrapping around I18n content
|
| | | |
|