aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/mime
Commit message (Collapse)AuthorAgeFilesLines
...
* Action Pack VariantsŁukasz Strzałkowski2013-12-041-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fixing repond_with working directly on the options hashBlueHotDog2013-10-091-0/+15
| | | | | | | | This fixes an issue where the respond_with worked directly with the given options hash, so that if a user relied on it after calling respond_with, the hash wouldn't be the same. Fixes #12029
* Create AbstractController::Rendering interfaceŁukasz Strzałkowski2013-08-251-0/+1
| | | | This interface should be use when implementing renderers.
* Fail informatively in #respond_with when no appropriate #api_behavior ↵Ben Woosley2013-08-171-0/+31
| | | | | | | | | | | | renderer is available. Currently if a user calls #respond_with(csvable), but has not csv renderer available, Responder will just run through the default render behavior twice, raising ActionView::MissingTemplate both times. This changes ActionController::Metal::Responder#api_behavior to check in advance whether there is a renderer available, and raise ActionController::MissingRenderer if not.
* Split the 1200+ line mime_responds_test into 3 more focused and manageable ↵Ben Woosley2013-08-173-0/+1254
test files.