| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By default, variants in the templates will be picked up if a variant is set
and there's a match. The format will be:
app/views/projects/show.html.erb
app/views/projects/show.html+tablet.erb
app/views/projects/show.html+phone.erb
If request.variant = :tablet is set, we'll automatically be rendering the
html+tablet template.
In the controller, we can also tailer to the variants with this syntax:
class ProjectsController < ActionController::Base
def show
respond_to do |format|
format.html do |html|
@stars = @project.stars
html.tablet { @notifications = @project.notifications }
html.phone { @chat_heads = @project.chat_heads }
end
format.js
format.atom
end
end
end
The variant itself is nil by default, but can be set in before filters, like
so:
class ApplicationController < ActionController::Base
before_action do
if request.user_agent =~ /iPad/
request.variant = :tablet
end
end
end
This is modeled loosely on custom mime types, but it's specifically not
intended to be used together. If you're going to make a custom mime type,
you don't need a variant. Variants are for variations on a single mime
types.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
i18n doesn't depend on active support which means it can't use our html_safe
code to do its escaping when generating the spans. Rather than try to sanitize
the output from i18n, just revert to our old behaviour of rescuing the error
and constructing the tag ourselves.
Fixes: CVE-2013-4491
|
| | |
| | |
| | |
| | |
| | |
| | | |
Previously the unit values were trusted leading to potential XSS vulnerabilities.
Fixes: CVE-2013-6415
|
|/ /
| |
| |
| |
| |
| | |
Missing partial folder/_partial instead of folder/partial.
Closes #13002.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
Same as 4d4ff531b8807ee88a3fc46875c7e76f613956fb
|
|/
|
|
|
| |
Rails 3.2 API allowed arbitrary input for cdata_section;
this change re-introduces the old behaviour.
|
|\
| |
| |
| |
| |
| |
| | |
Add params option for button_to
Conflicts:
actionpack/CHANGELOG.md
|
| |
| |
| |
| |
| |
| | |
The parameters are rendered as hidden form fields within the generated
form. This is useful for when a record has multiple buttons associated
with it, each of which target the same controller method, but which
need to submit different attributes.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
causing #12521
If config.action_view.cache_template_loading = false, most likely in a development
configuration if config.cache_classes = false &
config.action_controller.perform_caching = true.
config.action_view.cache_template_loading defaults to the value of config.cache_classes
|
| |
| |
| |
| | |
collection_check_boxes
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Example:
= select(report, "campaign_ids") do
- available_campaigns.each do |c|
%option{:data => {:tags => c.tags.to_json}, :value => c.id}= c.name
|
| | |
|
| |
| |
| |
| |
| |
| | |
Since the lookup details will influence which template is resolved, they
need to be included in the cache key -- otherwise two different
templates may erroneously share the same digest value.
|
| |
| |
| |
| |
| |
| |
| | |
AS does the following inside Time.find_zone! ...
`ActiveSupport::TimeZone[time_zone] || TZInfo::Timezone.get(time_zone)`
and given that the test is stubbing AS::TZ[] we don't need the removed
code.
|
| |
| |
| | |
I accidentally pushed this change to docrails before realizing that it's technically a code change, so I'm opening this pull request (and rolling back my change to docrails).
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
form_for - fix :namespace and :as options clash
Conflicts:
actionview/CHANGELOG.md
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
:as option should not overwrite :namespace option when
generating html id attribute of the form element. id should be prefixed
by specified namespace even if :as option is present
Add test case showing the issue and code fixing it
|
|/ /
| |
| |
| |
| | |
* replaced String concatenation by joining
* separator has default value to '', even it is nil
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Require minitest/mock in test where stub method is needed.
Apparently this was being "imported" by minitest pride plugin, which
previously required "minitest/autorun", that required "minitest/mock",
making the method available by chance.
It has been changed in minitest:
https://github.com/seattlerb/minitest/commit/595ce955c0d89575726d10fc18d2afd8f334bcbe
So we need to make sure we require what we really need where necessary.
|
|\ \
| | |
| | | |
fix actionview and activemodel test cases typos
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Only cache template digests if !config.cache_template_loading
|
| | |
| | |
| | |
| | |
| | |
| | | |
since ActionView::Resolver.caching is set to the same value as config.cache_template_loading
only cache template digests if config.cache_template_loading is not falsy
fixes issues #10752 and #10791
|
| |/
|/| |
|
|/
|
|
|
|
|
|
| |
MRI reimplemented Date in C so it doesn't hit this division anymore
while JRuby still uses the old stdlib implementation of Date so
it will always hit this.
With this change the actionview date_helper_test.rb tests should pass on JRuby.
|
|
|
|
|
|
|
|
|
|
|
|
| |
ActionView::Helpers.asset_path is where the logic for
javascript_include_tag resides. It takes an extname option for
specifying the extension or false to not append it. This exposes that
option to javascript_include_tag.
Without the option files that didn't end with ".js" would get the
extension appended to them. This broke JST templates and other file
types that should be interpreted as JavaScript but who's file extension
isn't ".js"
|
| |
|
|
|
|
|
|
|
| |
In some cases webservers like nginx send the escaped characters
lowercased to the Rails application. The current_page? helper was
comparing the escaped strings that are different since Ruby escapes the
URL using uppercased characters.
|
| |
|
| |
|
| |
|
|
|
|
| |
:content_type option. Closes #11393.
|
|\
| |
| | |
Fix actionview link_to with block and url_hash
|
| |
| |
| |
| |
| |
| | |
Use link_to with block and url_hash, expect block as name.
But ignore block and use url_hash as name.
3-2-stable passes this test. 4-0-stable and master fail this.
|
| |
| |
| |
| |
| |
| |
| | |
When rendering recursive partial Action View is trying to generate the
view digest infinitly causing a stack level error.
Fixes #11340
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Control to output a hidden input tag with name `utf8` without monkey
patching
Before:
form_tag
# => '<form>..<input name="utf8" type="hidden" value="✓" />..</form>'
After:
form_tag
# => '<form>..<input name="utf8" type="hidden" value="✓" />..</form>'
form_tag({}, { :enforce_utf8 => false })
# => '<form>....</form>'
|
|
|
|
| |
Same test exists above 2 or 3 lines.
|
|
|
|
| |
tests
|
| |
|
|
|
|
| |
because it was deprecated.
|
|
|
|
| |
Now if somebody by mistake will remove malformed files test will raise error.
|
| |
|