aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/helpers
Commit message (Collapse)AuthorAgeFilesLines
* Add form_with to unify form_tag/form_for. (#26976)Kasper Timm Hansen2016-11-211-2/+341
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add form_with to unify form_tag/form_for. `form_tag` and `form_for` serve very similar use cases. This PR unifies that usage such that `form_with` can output just the opening form tag akin to `form_tag` and can just work with a url, for instance. `form_with` by default doesn't attach class or id to the form — removing them on fields is moved out to a default revisiting PR later. Ported over old tests where applicable to ensure maximum coverage, but left some commented out because they don't yet apply (e.g. `fields_for` later being replaced by `fields`). [ Kasper Timm Hansen & Marek Kirejczyk ] * Add fields DSL method. Strips `_for` and requires models passed as a keyword argument. * Document form_with. Graft the `form_for` docs: rewrite, revise and expand where needed. Also test that a `format` isn't used when an explicit URL is passed. * Enable remote by default. Brand new world! Forms submit via XHRs by default, woah. * Invert `include_id` to `skip_id`. `skip_id: true` reads better than `include_id: false` (since the `include_id` default is true). * Invert `remote` to `local`. Since forms are remote by default, the option name makes more sense as `local: true`. * Invert `enforce_utf8` to `skip_enforcing_utf8`. * Refer to the brand spanking new rails-ujs. Soon to be bundled in Rails proper, so jquery-ujs is out. * Make `form_with` a bit more composed. The flow is still not quite what it should be because the legacy methods and these new ones pull at opposite ends. Lots of options have been renamed, so now the new pieces don't fit in so well. I'll try to work on this in later commits after this PR (it's likely there's a much better way to structure this whole part of Action View).
* Minor corrections to #26905Andrew White2016-11-131-1/+1
|
* Merge pull request #26905 from bogdanvlviv/docsAndrew White2016-11-134-7/+7
|\ | | | | Add missing `+` around a some literals.
| * Add missing `+` around a some literals.bogdanvlviv2016-10-274-7/+7
| | | | | | | | | | | | Mainly around `nil` [ci skip]
* | Fix spelling in API docsDave Powers2016-11-121-1/+1
| | | | | | | | [ci skip]
* | Add more rubocop rules about whitespacesRafael Mendonça França2016-10-2911-17/+17
| |
* | [ci skip] Revise TagHelper only permitting symbols doc.Kasper Timm Hansen2016-10-281-4/+3
| | | | | | | | | | | | | | | | | | | | | | Follow up to 454460e. Rebuild the sentence so the bit about only symbols allowed comes less out of left field and fits in better with the existing doc. Also remove the `(Legacy syntax)` construct. The sections are properly nested under `=== Options` with `====` and look fine on the generated API doc site.
* | let Regexp#match? be globally availableXavier Noria2016-10-274-4/+0
| | | | | | | | | | | | Regexp#match? should be considered to be part of the Ruby core library. We are emulating it for < 2.4, but not having to require the extension is part of the illusion of the emulation.
* | Fix small typo in ActionView API documentation [ci skip]Erol Fornoles2016-10-251-1/+1
|/
* Merge pull request #26810 from maclover7/jm-fix-26802Rafael Mendonça França2016-10-221-0/+11
|\ | | | | | | Convert ActionController::Parameters to a hash in button_to
| * Convert ActionController::Parameters to a hash in button_toJon Moss2016-10-171-0/+6
|/ | | | | | | | | | | Before, an error would be raised saying that the method `to_param` was undefined on the instance of `ActionController::Parameters`. Now, we are checking to see if the `params` object being passed to `button_to` responds to the `permitted?` method, and if so, we will call `to_h` on it. If it does not respond to `permitted?`, then the `params` will remain unchanged. [Jon Moss, Rafael Mendonça França]
* Docs: `tag` only accept attribute names as symbolsclaudiob2016-10-111-2/+3
| | | | | | | | | | [ci skip] See https://github.com/rails/rails/issues/26518#issuecomment-252826489 @dhh: > I'd support symbol-only keys going forward with these new APIs. > We can break with the past here since the tag proxy is new and so is form_with.
* Undeprecate plural positional argumentJeremy Daer2016-09-211-8/+1
| | | | | | | | | | | | | | | | | | ```ruby pluralize people.count, 'person', 'people' ``` reads more naturally than ```ruby pluralize people.count, 'person', plural: 'people' ``` so let's not deprecate it. We could label both, but that's a mouthful: ```ruby pluralize people.count, singular: 'person', plural: 'people' ``` (The `plural:` kwarg shipped in 5.0.0, so we're keeping it.)
* [ci skip] Replace to closing tagAndrey Molchanov2016-09-201-1/+1
|
* [ci skip] Fixed commas according to Oxford comma in rdoc and guidesAndrey Molchanov2016-09-171-1/+1
|
* Fix broken comments indentation caused by rubocop auto-correct [ci skip]Ryuta Kamizono2016-09-142-6/+6
| | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But comments was still kept absolute position. This commit aligns comments with method definitions for consistency.
* Fix Remaining Case-In-Assignment Statement FormattingAlex Kitchens2016-09-062-24/+26
| | | | | | | | | Recently, the Rails team made an effort to keep the source code consistent, using Ruboco (bb1ecdcc677bf6e68e0252505509c089619b5b90 and below). Some of the case statements were missed. This changes the case statements' formatting and is consistent with changes in 810dff7c9fa9b2a38eb1560ce0378d760529ee6b and db63406cb007ab3756d2a96d2e0b5d4e777f8231.
* RuboCop is 100% green :tada:Xavier Noria2016-09-021-6/+7
|
* fixes remaining RuboCop issues [Vipul A M, Xavier Noria]Xavier Noria2016-09-012-2/+2
|
* fix document for radio_buttonshingo-nakanishi2016-09-011-1/+2
| | | | add `# Let's say that @user.receive_newsletter returns "no":` for `def radio_button(object_name, method, tag_value, options = {})`. fix `# Let's say that @user.category returns "no":` to `# Let's say that @user.receive_newsletter returns "no":`
* remove warning from `video_tag`yuuji.yaginuma2016-09-011-3/+3
| | | | | | | | This removes the following warning. ``` actionview/lib/action_view/helpers/asset_tag_helper.rb:291: warning: shadowing outer local variable - options ```
* Fix styleschneems2016-08-301-5/+5
|
* Better keyword argument nameschneems2016-08-301-3/+3
|
* Address comment via @dhh, better option namingschneems2016-08-302-19/+19
|
* Document public_poster_folder optionschneems2016-08-291-0/+4
|
* Address doc style comments from @robin850schneems2016-08-291-9/+9
|
* Fully document asset_path.schneems2016-08-291-7/+58
|
* Do not deprecate using assets with leading slashschneems2016-08-291-10/+5
|
* Missed 2 public_* methods in cleanupschneems2016-08-291-16/+0
|
* Favor `public_folder: true` over `public_*`schneems2016-08-292-144/+3
| | | | Adding all those `public_*` methods is a bit heavy handed, we can change the API to instead use `public_folder: true`. Change was pretty easy since it was already implemented that way.
* Fix formattingschneems2016-08-292-23/+22
|
* Add `public_*` helpers to all the `_tag` methods.schneems2016-08-291-10/+58
|
* Match method signatureschneems2016-08-291-3/+3
|
* Add docs to `public_*_path` methods & fix commentsschneems2016-08-291-15/+36
|
* Add public URL helpersschneems2016-08-291-0/+56
|
* Add descriptive commentschneems2016-08-291-7/+7
|
* Make sure routes don't interfere with pathsschneems2016-08-291-0/+11
|
* Allow a more explicit public behaviorschneems2016-08-291-2/+37
| | | | | We want to make it more explicit when a user wants to avoid the asset pipeline to do this we will add `public_*` methods to all path helpers. So if someone wants to use an asset that isn't maintained by the asset pipeline they can use `public_asset_path` instead of `asset_path` and letting it fall through. The main reason for this change is the desire to raise helpful errors in the future. Right now if you typo an asset name, then we assume you intended an asset in the `public/` folder and not in the pipeline so nothing fails and the error sits silently until you realize the page didn't render correctly. We have to deprecate today so we can raise meaningful error messages in the future.
* Simplify cache hit loggingAaron Patterson2016-08-241-3/+4
| | | | | | | CacheHelper is mixed in to Helpers, Helpers is mixed in to AV::Base. This means we can count on instances of AV::Base to have the "cache hit" method on them, and we can stop setting an ivar for cache logging and just ask the view if it was a cache hit.
* Improve TagHelper#tag_option performanceAmadeus Folego2016-08-221-2/+2
| | | | | | Freeze string literals and use String instead of Regex inside gsub call. This should improve performance from 20% up to 50% on most cases.
* Add three new rubocop rulesRafael Mendonça França2016-08-167-22/+22
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* Ensure values are strings before calling gsubMike Virata-Stone2016-08-121-1/+1
|
* ensure tag/content_tag escapes " in attribute valsAndrew Carpenter2016-08-111-1/+1
| | | | | | Many helpers mark content as HTML-safe without escaping double quotes -- including `sanitize`. Regardless of whether or not the attribute values are HTML-escaped, we want to be sure they don't include double quotes, as that can cause XSS issues. For example: `content_tag(:div, "foo", title: sanitize('" onmouseover="alert(1);//'))` CVE-2016-6316
* revises more Lint/EndAlignment offensesXavier Noria2016-08-081-9/+9
|
* Modify LogSubscriber for single partial's cache message.Stan Lo2016-08-081-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement naive partial caching mechanism. Add test for LogSubscriber Use ActionView::Base#log_payload to store log_subscriber's payload, so we can pass cache result into it. Fixed tests Remove useless settings Check if #log_payload exists before calling it. Because other classes also includes CacheHelper but don't have is attribute Use @log_payload_for_partial_reder instead of #log_payload to carry ActionView's payload. Update test's hash syntax Add configuration to enable/disable fragment caching logging Remove unless test and add new test to ensure cache info won't effect next rendering's log Move :enable_fragment_cache_logging config from ActionView to ActionPack Apply new config to tests Update actionview's changelog Update configuration guide Improve actionview's changelog Refactor PartialRenderer#render and log tests Mute subscriber's log instead of disabling instrumentation. Fix typo, remove useless comment and use new hash syntax Improve actionpack's log_subscriber test Fix rebase mistake Apply new config to all caching intstrument actions
* applies remaining conventions across the projectXavier Noria2016-08-066-77/+72
|
* normalizes indentation and whitespace across the projectXavier Noria2016-08-0614-289/+289
|
* modernizes hash syntax in actionviewXavier Noria2016-08-0614-68/+68
|
* applies new string literal convention in actionview/libXavier Noria2016-08-0628-170/+170
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* systematic revision of =~ usage in AVXavier Noria2016-07-254-16/+22
| | | | | Where appropriate, prefer the more concise Regexp#match?, String#include?, String#start_with?, or String#end_with?