diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2014-02-13 17:24:22 +0100 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2014-02-13 17:24:22 +0100 |
commit | f2dfa83fac5e892335d2bceaa6dfe344515fee26 (patch) | |
tree | 8e0f89eefe15f5bff61e111cbbc718114d9a0820 /actionpack/lib/action_dispatch/http | |
parent | ea3af7ee14217470b019225a03cccced1120f211 (diff) | |
parent | f9b6b865e60ea770cc34e9946f6df1604f20dd27 (diff) | |
download | rails-f2dfa83fac5e892335d2bceaa6dfe344515fee26.tar.gz rails-f2dfa83fac5e892335d2bceaa6dfe344515fee26.tar.bz2 rails-f2dfa83fac5e892335d2bceaa6dfe344515fee26.zip |
Merge pull request #14043 from strzalek/variants-negotiation
Variant negotiation
Diffstat (limited to 'actionpack/lib/action_dispatch/http')
-rw-r--r-- | actionpack/lib/action_dispatch/http/mime_negotiation.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/http/mime_negotiation.rb b/actionpack/lib/action_dispatch/http/mime_negotiation.rb index c33ba201e1..b75d7ffe9d 100644 --- a/actionpack/lib/action_dispatch/http/mime_negotiation.rb +++ b/actionpack/lib/action_dispatch/http/mime_negotiation.rb @@ -68,10 +68,12 @@ module ActionDispatch # Sets the \variant for template. def variant=(variant) - if variant.is_a? Symbol + if variant.is_a?(Symbol) + @variant = [variant] + elsif variant.is_a?(Array) @variant = variant else - raise ArgumentError, "request.variant must be set to a Symbol, not a #{variant.class}. " \ + raise ArgumentError, "request.variant must be set to a Symbol or Array, not a #{variant.class}. " \ "For security reasons, never directly set the variant to a user-provided value, " \ "like params[:variant].to_sym. Check user-provided value against a whitelist first, " \ "then set the variant: request.variant = :tablet if params[:variant] == 'tablet'" |