aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/helpers
Commit message (Collapse)AuthorAgeFilesLines
...
* | | fix TypeError when using submit_tag with Symbol valueyuuji.yaginuma2015-12-241-1/+1
| | |
* | | Add caveat to number_to_currency docs [ci skip]Derek Prior2015-12-231-0/+8
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | I've worked on a few applications that have gone through the internationalization process and had issues because they were using `number_to_currency`. The minute a user is allowed to change their locale, they can change the price displayed on a page from 10 US dollars to 10 Mexican Pesos, which is far from the same amount of money. Unlike other helpers that rely on i18n, `number_to_currency` does not produce equivalent results when the locale is changed. As I've explained this to a few groups of developers now, I thought it might make for a good caveat in the docs.
* | debug_missing_translation configuration added to action_viewSameer Rahmani2015-12-181-0/+10
| | | | | | | | | | | | | | | | | | `I18n.translate` helper will wrap the missing translation keys in a <span> tag only if `debug_missing_translation` configuration has a truthy value. Default value is `true`. For example in `application.rb`: # in order to turn off missing key wrapping config.action_view.debug_missing_translation = false
* | Remove ActionView::Helpers::CacheHelper#fragment_cache_keySam Stephenson2015-12-141-8/+0
| | | | | | | | | | | | Introduced in e56c63542780fe2fb804636a875f95cae08ab3f4, `CacheHelper#fragment_cache_key` is a duplicate of `ActionController::Caching::Fragments#fragment_cache_key`. We now require the view to provide this method on its own (as with `view_cache_dependencies`); `ActionController::Caching::Fragments` exports its version as a `helper_method`.
* | Example of setting data attributes for image_tagNishant Modak2015-11-201-0/+2
| |
* | Fix week_field returning invalid valueChristoph2015-11-101-1/+1
| | | | | | | | | | | | | | According to the W3 spec[1] the value should use a 1-based index and not a 0-based index for the week number. [1]: http://www.w3.org/TR/html-markup/datatypes.html#form.data.week
* | Allow `host` option in javscript and css helpersGrzegorz Witek2015-11-081-2/+2
| | | | | | | | | | Now both `javascript_include_tag` and `stylesheet_tag` can accept `host` option to provide custom host for the asset
* | Don’t allow arbitrary data in back urlsDamien Burke2015-11-031-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | `link_to :back` creates a link to whatever was passed in via the referer header. If an attacker can alter the referer header, that would create a cross-site scripting vulnerability on every page that uses `link_to :back` This commit restricts the back URL to valid non-javascript URLs. https://github.com/rails/rails/issues/14444
* | Fix style issues with #16252Sean Griffin2015-10-291-8/+5
| |
* | making selected value to accept Hash like the default option. E.g. selected: ↵Lecky Lao2015-10-291-1/+9
| | | | | | | | | | | | | | | | {day: params[:day].to_i, month: params[:month].to_id} Adds in test test_date_select_with_selected_in_hash and change log fixes typo in CHANGELOG
* | Ignore scope in missing translation input.Kasper Timm Hansen2015-10-281-1/+1
|/ | | | | | It's already represented in the key name. Demonstrate with a test. Also test that the default isn't output.
* Collection check boxes propagates input's id to the label's for attribute.Vasiliy Ermolovich2015-10-201-0/+2
|
* Use `Mime[:foo]` instead of `Mime::Type[:FOO]` for back compatJeremy Daer2015-10-061-1/+1
| | | | | | | | | | | | | | | | | Rails 4.x and earlier didn't support `Mime::Type[:FOO]`, so libraries that support multiple Rails versions would've had to feature-detect whether to use `Mime::Type[:FOO]` or `Mime::FOO`. `Mime[:foo]` has been around for ages to look up registered MIME types by symbol / extension, though, so libraries and plugins can safely switch to that without breaking backward- or forward-compatibility. Note: `Mime::ALL` isn't a real MIME type and isn't registered for lookup by type or extension, so it's not available as `Mime[:all]`. We use it internally as a wildcard for `respond_to` negotiation. If you use this internal constant, continue to reference it with `Mime::ALL`. Ref. efc6dd550ee49e7e443f9d72785caa0f240def53
* [ci skip] Change 'an URL' to 'a URL' as URL doesn't have a vowel soundtanmay30112015-10-061-1/+1
|
* Merge pull request #21661 from akshay-vishnoi/submit_tag_testsRafael Mendonça França2015-09-291-1/+1
|\ | | | | Fix - Prevent adding of `data-disable-with` option twice in html.
| * Fix - Prevent adding of `data-disable-with` option twice in html.Akshay Vishnoi2015-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier when `data-disable-with` option is added direclty as in options then ```ruby submit_tag("Save", { "data-disable-with" => "Processing..." }) # => <input type="submit" name="commit" value="Save" data-disable-with="Processing..." data-disable-with="Processing..." /> ``` Now when `data-disable-with` option is added direclty as in options then ```ruby submit_tag("Save", { "data-disable-with" => "Processing..." }) # => <input type="submit" name="commit" value="Save" data-disable-with="Processing..." /> ```
* | Merge pull request #21790 from yui-knk/fix_doc_date_fieldRafael Mendonça França2015-09-281-1/+1
|\ \ | | | | | | [ci skip] Fix which method `FormHelper#date_field` try to call
| * | [ci skip] Fix which method `FormHelper#date_field` try to callyui-knk2015-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When this method was implemented (https://github.com/rails/rails/pull/5016/files), `to_date` is called. But this behavior was chagned refactoring (https://github.com/rails/rails/pull/6452/files). In the first commit, there were not test which asserts `to_date` is called. I think trying `to_date` is more useful than trying `strftime`, because we can write `"2015-01-01".to_date`. But first fix comments to match actual behavior.
* | | minor doc fix [ci skip]Mehmet Emin İNAÇ2015-09-271-3/+3
|/ /
* | Merge pull request #21431 from ojab/masterRafael Mendonça França2015-09-261-1/+8
|\ \ | | | | | | Handle nested fields_for by adding indexes to record_name
| * | Handle nested fields_for by adding indexes to record_nameojab2015-08-301-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of the form with nested fields_for, i. e. <%= form_for :foos, url: root_path do |f| %> <% @foos.each do |foo| %> <%= f.fields_for 'foo[]', foo do |f2| %> <%= f2.text_field :id %> <% foo.bars.each do |bar| %> <%= f2.fields_for 'bar[]', bar do |b| %> <%= b.text_field :id %> <% end %> <% end %> <% end %> <% end %> <%= f.submit %> <% end %> rails doesn't add index for 'foo' in the inner fields_for block, so field names in the outer fields_for looks like "foos[foo][#{foo_index}][id]" and in the inner "foos[foo[]][bar][#{bar_index}][id]". Submitting of such form leads to an error like: >ActionController::BadRequest (Invalid request parameters: expected Array >(got Rack::QueryParser::Params) for param `foo'): This commit adds indexes for the foos in the inner blocks, so field names become "foos[foo][#{foo_index}][bar][#{bar_index}][id]" and submitting of such form works fine as expected. Fixes #15332
* | | Add a hidden field on the collection_radio_buttonsMauro George2015-09-244-32/+47
| | | | | | | | | | | | | | | This will avoid a error be raised when the only input on the form is the `collection_radio_buttons`.
* | | Merge pull request #21712 from amitsuroliya/html_fixYves Senn2015-09-221-2/+2
|\ \ \ | | | | | | | | Correcting output of `file_field` with `multiple` attribute option [ci skip]
| * | | Correcting output of `file_field` with `multiple` attribute option [ci skip]amitkumarsuroliya2015-09-221-2/+2
| | | |
* | | | Correcting output of `number_to_percentage` example in `number_helper` [ci skip]amitkumarsuroliya2015-09-221-1/+1
|/ / / | | | | | | Here is correct output of `number_to_percentage(100, format: "%n %”)`
* | | :scissors: empty line at the top of filesAkira Matsuda2015-09-211-1/+0
| | |
* | | Merge pull request #21632 from ↵Kasper Timm Hansen2015-09-181-1/+8
|\ \ \ | |_|/ |/| | | | | | | | kirs/feature/translation-helper-include-interpolation Include interpolation values to translation_missing helper
| * | Include interpolation values to translation_missing helperKir Shatrov2015-09-181-1/+8
| | |
* | | No need the `a`shingo.nakanishi2015-09-171-2/+2
| | |
* | | Fixed helpers submit button Examples [ci skip]shingo.nakanishi2015-09-171-1/+1
| | |
* | | Use ERB::Utils to percent encode `hfvalue` parts of mailtoAaron Patterson2015-09-051-2/+2
|/ / | | | | | | | | | | | | | | `hfvalue` parts should always be percent encoded, so lets do that! Revert "use path escaping for email addresses" This reverts commit 21ffef38a5dc5a6a21f7e841aecab5b51f4fd185.
* | use path escaping for email addressesAaron Patterson2015-09-041-1/+1
| | | | | | | | | | | | Due to e25fdad2f147e6f368958f9a06a5ac9d10288408, we are correctly using path escaping for email addresses. This commit fixes the tests to expect path escaping.
* | Fix calling cache helper with a relationLachlan Sylvester2015-08-281-3/+2
|/
* fix Docs [ci skip]amitkumarsuroliya2015-08-181-1/+1
|
* typo fix [ci skip]amitkumarsuroliya2015-08-181-2/+2
|
* Merge pull request #21135 from DropsOfSerenity/masterSean Griffin2015-08-171-9/+23
|\ | | | | make disable_with default in submit_tag
| * Make disable_with default in submit_tagJustin Schiff2015-08-111-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevents double submission by making disable_with the default. Default disable_with option will only be applied if user has not specified her/his own disable_with option, whether that is in the `data-disable-with` string form or the `:data => { :disable_with => "Saving..." }` hash form. disable_with will default to the value attribute. A configuration option was added to opt out of this functionality if the user so desires. `config.action_view.automatically_disable_submit_tag = false`
* | Add documentation for ActionView::Helpers::DateHelper :use_hidden option [ci ↵Vince Francesi2015-08-151-0/+1
|/ | | | skip]
* Sometimes you need a specific break sequence while using word wrap and as ↵Mauricio Gomez Aguinaga2015-08-111-5/+8
| | | | | | | | | | today the only option we have is "\n" and is hardcoded. With this change you will be able to specify any break sequence ("\r\n" for example) as an option. adding proper documentation for break_sequence in ActionView::Helpers::TextHelper.word_wrap adding some more documentation for word_wrap custom break sequence and making sure we use new hash syntax
* [ci skip] Fix simultaneous spellingKasper Timm Hansen2015-08-101-1/+1
|
* Update info on browser connection limits [ci skip]Derek Prior2015-08-101-11/+18
| | | | | | | Browsers have not been limited to two connections per host for quite some time now. With more connections allowed, the trade-off involved in asset host distribution isn't so clear and it becomes more important that developers measure actual performance before and after.
* Save a string allocation inside loopBenjamin Quorning2015-08-021-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the `tag_options` method, strings are continuously added to the `output` string. Previously, we concatenated two strings and added the generated string to `output`. By adding each of the strings to `output`, one after the other, we will save the allocation of that concatenated string. Benchmark: require 'benchmark/ips' sep = " ".freeze Benchmark.ips do |x| x.report("string +") { output = "" output << sep + "foo" } x.report("string <<") { output = "" output << sep output << "foo" } x.compare! end Results (Ruby 2.2.2): Calculating ------------------------------------- string + 88.086k i/100ms string << 94.287k i/100ms ------------------------------------------------- string + 2.407M (± 5.8%) i/s - 12.068M string << 2.591M (± 7.0%) i/s - 12.917M Comparison: string <<: 2591482.4 i/s string +: 2406883.7 i/s - 1.08x slower
* Don't allocate array when not necessaryschneems2015-07-301-5/+6
| | | | | | In the `tag_options` method an array is used to build up elements, then `Array#*` (which is an alias for `Array#join` is called to turn the array into a string. Instead of allocating an array to build a string, we can build the string we want from the beginning. Saved: 121,743 bytes 893 objects
* Cut string allocations in content_tag_stringschneems2015-07-296-20/+20
| | | | | | content_tag's first argument is will generate a string with an html tag so `:a` will generate: `<a></a>`. When this happens, the symbol is implicitly `to_s`-d so a new string is allocated. We can get around that by using a frozen string instead which This change buys us 74,236 bytes of memory and 1,855 fewer objects per request.
* Optimize hash keyschneems2015-07-291-1/+1
| | | | | | No idea why on earth this hash key isn't already optimized by MRI, but it isn't. :shit: This change buys us 74,077 bytes of memory and 1,852 fewer objects per request.
* Decrease string allocation in content_tag_stringschneems2015-07-291-6/+7
| | | | | | | | | | When an unknonwn key is passed to the hash in `PRE_CONTENT_STRINGS` it returns nil, when you call "#{nil}" it allocates a new empty string. We can get around this allocation by using a default value `Hash.new { "".freeze }`. We can avoid the `to_sym` call by pre-populating the hash with a symbol key in addition to a string key. We can freeze some strings when using Array#* to reduce allocations. Array#join can take frozen strings. This change buys us 86,600 bytes of memory and 1,857 fewer objects per request.
* Merge pull request #20904 from kaspth/wildcard-template-dependenciesKasper Timm Hansen2015-07-271-1/+13
|\ | | | | Add wildcard template dependencies.
| * Add wildcard template dependencies.Kasper Timm Hansen2015-07-261-1/+13
| |
* | Encode the email address as prescribed in RFC 6068 section 2.Clayton Smith2015-07-231-1/+2
|/
* Merge pull request #20895 from brian-davis/brian-davisSean Griffin2015-07-201-1/+1
|\ | | | | grammar fix to content_for method documentation in capture_helper.rb [ci skip]