aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view
Commit message (Collapse)AuthorAgeFilesLines
* Tiny documentation fixes [ci skip]Robin Dupret2014-12-301-3/+4
|
* Merge pull request #18130 from claudiob/better-record-identifier-docRobin Dupret2014-12-301-18/+42
|\ | | | | Better docs for AV::RecordIdentifier [ci skip]
| * Better docs for AV::RecordIdentifierclaudiob2014-12-231-18/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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, especially 8ca17926 which duplicated ActionController::ModelNaming into ActionView::ModelNaming explaining that: > These are just a simple helpers for decoupling Active Model, so it does not > make sense to extract it to Active Support, but the point is to decouple also > Action View and Action Pack As of today, ActionView::RecordIdentifier only includes `dom_id` and `dom_class` so it makes sense to explicitly document those two methods, and leaving the details of helpers like `div_for` in the corresponding files. Moreover, I think it's important to mention in the documentation 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. [ci skip]
* | Template lookup now respect default locale and I18n fallbacks.Rafael Mendonça França2014-12-291-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the following templates: mailer/demo.html.erb mailer/demo.en.html.erb mailer/demo.pt.html.erb Before this change for a locale that doesn't have its related file the `mailer/demo.html.erb` will be rendered even if `en` is the default locale. Now `mailer/demo.en.html.erb` has precedence over the file without locale. Also, it is possible to give a fallback. mailer/demo.pt.html.erb mailer/demo.pt-BR.html.erb So if the locale is `pt-PT`, `mailer/demo.pt.html.erb` will be rendered given the right I18n fallback configuration. Fixes #11884.
* | fix error message of option as with invalid charters in partial renderingAngelo capilleri2014-12-291-2/+10
| | | | | | | | | | 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.
* | Merge pull request #18107 from mkdynamic/add-reply-to-mail-toSean Griffin2014-12-241-2/+3
|\ \ | | | | | | Add support for Reply-To field in mail_to helper
| * | Add support for Reply-To field in mail_to helperMark Dodwell2014-12-201-2/+3
| |/
* / Remove block from superJose Añasco2014-12-232-10/+12
|/
* [ci skip] Fix HTML format on commentyui-knk2014-12-181-1/+2
|
* Revert "Re-enable capture'ing non-String values"Santiago Pastorino2014-12-151-1/+1
| | | | This reverts commit c2fe0938d7201d4ce0bb2f25e72bf5f70df128af.
* Re-enable capture'ing non-String valuesCarsten Zimmermann2014-12-141-1/+1
| | | | | | | 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.
* Fix options overwritten by superJose Añasco2014-12-092-11/+10
|
* Merge pull request #17866 from bogdan/default-form-builderSantiago Pastorino2014-12-011-1/+3
|\ | | | | Bugfix config.action_view.default_form_builder option
| * Bugfix config.action_view.default_form_builder optionBogdan Gusiev2014-12-011-1/+3
| |
* | Fix link in documentation. [ci skip]Igor Zubkov2014-11-301-2/+2
| |
* | Pass symbol as an argument instead of a blockErik Michaels-Ober2014-11-298-9/+9
| |
* | Start Rails 5 development :tada:Rafael Mendonça França2014-11-281-3/+3
|/ | | | | | | We will support only Ruby >= 2.1. But right now we don't accept pull requests with syntax changes to drop support to Ruby 1.9.
* Fix warning in AV testsSean Griffin2014-11-251-2/+4
| | | | Originally caused by #17771
* Local vars should exist in partials for falsy `:object:` values tooAgis-2014-11-251-2/+2
| | | | | | | | | | | | c67005f221f102fe2caca231027d9b11cf630484 made the local var in partials available only if what passed to `:object` was truthy. For example this would not make the local variable `foo` available inside the partial: render partial: 'foo', object: false Fixes #17373.
* let mailer templates generate URLs by default [Xavier Noria, Richard Schneeman]Xavier Noria2014-11-242-10/+27
|
* Merge pull request #17702 from tgxworld/fix_select_tag_include_blank_falseSantiago Pastorino2014-11-211-1/+3
|\ | | | | Fix select_tag generating tag when set to false.
| * Fix select_tag generating tag when set to false.Guo Xiang Tan2014-11-211-1/+3
| | | | | | | | Fixes https://github.com/rails/rails/issues/17701.
* | Wrap code snippets in +, not backticks, in sdocclaudiob2014-11-201-1/+1
|/ | | | | | | | I grepped the source code for code snippets wrapped in backticks in the comments and replaced the backticks with plus signs so they are correctly displayed in the Rails documentation. [ci skip]
* Merge pull request #17685 from claudiob/document-form-for-extra-optionsRafael Mendonça França2014-11-201-0/+15
|\ | | | | | | | | | | | | Document *all* the options accepted by form_for Conflicts: actionview/lib/action_view/helpers/form_helper.rb
| * Document *all* the options accepted by form_forclaudiob2014-11-201-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The [current documentation of form_for](http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for) is incomplete: > The rightmost argument to form_for is an optional hash of options - > :url - The URL the form is to be submitted to. This may be represented in the same way as values passed to url_for or link_to. So for example you may use a named route directly. When the model is represented by a string or symbol, as in the example above, if the :url option is not specified, by default the form will be sent back to the current url (We will describe below an alternative resource-oriented usage of form_for in which the URL does not need to be specified explicitly). > :namespace - A namespace for your form to ensure uniqueness of id attributes on form elements. The namespace attribute will be prefixed with underscore on the generated HTML id. > :html - Optional HTML attributes for the form tag. This commit completes the documentation by specifying that: * `:authenticity_token` is also a valid option (as [documented here](https://github.com/rails/rails/blob/b0f44c9ff0be84ebc42760029adeeb9dd954655f/actionview/lib/action_view/helpers/form_helper.rb#L396)) * `:method` is also a valid option (as [tested here](https://github.com/rails/rails/blob/b0f44c9ff0be84ebc42760029adeeb9dd954655f/actionview/test/template/form_helper_test.rb#L1819)) * `:remote` is also a valid option (as [tested here](https://github.com/rails/rails/blob/b0f44c9ff0be84ebc42760029adeeb9dd954655f/actionview/test/template/form_helper_test.rb#L1850)) [ci skip]
* | Add `:enforce_utf8` option to form_forclaudiob2014-11-201-0/+3
|/ | | | | | | | | 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
* Some valid block calls in templates caused syntax errorsAkira Matsuda2014-11-201-1/+1
| | | | Now ActionView accepts <%= foo(){ %> and <%= foo()do %> :golf:
* Add space in :start_year description for date_selectRyan Bigg2014-11-191-1/+1
|
* Make sure assert_select can assert body tagRafael Mendonça França2014-11-181-4/+5
| | | | | | | | | This reverts commit f93df52845766216f0fe36a4586f8abad505cac4, reversing changes made to a455e3f4e9dbfb9630d47878e1239bc424fb7d13. Conflicts: actionpack/lib/action_controller/test_case.rb actionview/lib/action_view/test_case.rb
* document_root_element need to be publicRafael Mendonça França2014-11-171-5/+5
|
* Call gsub with a Regexp instead of a String for better performancePablo Herrero2014-11-012-2/+2
|
* Honor public/private in ActionView::Helpers::Tags::Base#valueTobias Pfeiffer2014-10-311-1/+1
| | | | | * use public_send instead of send to avoid calling private methods in form helpers
* Prepare for 4.2.0.beta4 releaseGodfrey Chan2014-10-301-1/+1
|
* Fix typo at form_helper docs [ci skip]Pablo Herrero2014-10-291-2/+2
|
* edit pass over all warningsXavier Noria2014-10-281-1/+5
| | | | | | | | | | | | | | | 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.
* let's warn with heredocsXavier Noria2014-10-281-3/+5
| | | | | | | | | | | | 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.
* Fix doc markup for `NumberHelper` [ci skip]Ryunosuke SATO2014-10-291-5/+5
| | | | | The character "*" is unnecessary in option candidates. This incorrect markup was injected in e8c9aeca .
* Use new hash syntaxRafael Mendonça França2014-10-251-2/+3
|
* :scissors:Rafael Mendonça França2014-10-251-2/+1
|
* Merge pull request #17064 from frenkel/fix_select_tag_include_blankRafael Mendonça França2014-10-251-2/+8
|\ | | | | Use include_blank value as option label
| * Use include_blank value as option labelFrank Groeneveld2014-10-171-2/+8
| | | | | | | | 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 comments about sanitized_allowed_tagsPrathamesh Sonpatki2014-10-251-2/+2
| | | | | | | | | | | | | | | | - 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]
* | Reduce object allocationAkira Matsuda2014-10-251-1/+5
| |
* | Reduce object allocationAkira Matsuda2014-10-251-1/+1
| |
* | Avoid creating unneeded Hash instance and calling slow Hash#fetchAkira Matsuda2014-10-251-1/+1
| |
* | Fix how file_ and password_field_tag edit optionsclaudiob2014-10-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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" /> ```
* | Merge pull request #17271 from claudiob/remove-duplicate-stringify-keysRafael Mendonça França2014-10-151-13/+13
|\ \ | | | | | | Remove duplicate stringify_keys in text_field_tag and number_field_tag
| * | Remove duplicate stringify_keys in text_field_tagclaudiob2014-10-151-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* | | Replace Enumerable#reverse.each with Enumerable#reverse_eachErik Michaels-Ober2014-10-131-1/+1
|/ /
* | remove un-needed sortschneems2014-10-071-1/+1
| | | | | | | | | | | | 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