aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/rendering.rb
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate `*_path` methods in mailers@schneems and @sgrif2014-07-301-2/+3
| | | | | | | | | | | Email does not support relative links since there is no implicit host. Therefore all links inside of emails must be fully qualified URLs. All path helpers are now deprecated. When removed, the error will give early indication to developers to use `*_url` methods instead. Currently if a developer uses a `*_path` helper, their tests and `mail_view` will not catch the mistake. The only way to see the error is by sending emails in production. Preventing sending out emails with non-working path's is the desired end goal of this PR. Currently path helpers are mixed-in to controllers (the ActionMailer::Base acts as a controller). All `*_url` and `*_path` helpers are made available through the same module. This PR separates this behavior into two modules so we can extend the `*_path` methods to add a Deprecation to them. Once deprecated we can use this same area to raise a NoMethodError and add an informative message directing the developer to use `*_url` instead. The module with warnings is only mixed in when a controller returns false from the newly added `supports_relative_path?`. Paired @sgrif & @schneems
* documentation fixGaurav Sharma2014-05-241-2/+2
|
* Do note remove `Content-Type` when `render :body`Prem Sichanugrist2014-03-051-5/+0
| | | | | | | | | | | | | `render :body` should just not set the `Content-Type` header. By removing the header, it breaks the compatibility with other parts. After this commit, `render :body` will returns `text/html` content type, sets by default from `ActionDispatch::Response`, and it will preserve the overridden content type if you override it. Fixes #14197, #14238 This partially reverts commit 3047376870d4a7adc7ff15c3cb4852e073c8f1da.
* Add `#no_content_type` attribute to `AD::Response`Prem Sichanugrist2014-02-181-0/+5
| | | | | Setting this attribute to `true` will remove the content type header from the request. This is use in `render :body` feature.
* Introduce `render :body` for render raw contentPrem Sichanugrist2014-02-181-1/+1
| | | | | | | | | | | | This is an option for sending a raw content back to browser. Note that this rendering option will unset the default content type and does not include "Content-Type" header back in the response. You should only use this option if you are expecting the "Content-Type" header to not be set. More information on "Content-Type" header can be found on RFC 2616, section 7.2.1. Please see #12374 for more detail.
* Variant negotiationLukasz Strzalkowski2014-02-131-1/+1
| | | | | | | | | | | | | | Allow setting `request.variant` as an array - an order in which they will be rendered. For example: request.variant = [:tablet, :phone] respond_to do |format| format.html.none format.html.phone # this gets rendered end
* Action Pack VariantsŁukasz Strzałkowski2013-12-041-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Renderer#_render_template should be privateRafael Mendonça França2013-11-191-7/+7
| | | | Closes #12831
* Remove remaining coupling with AV in MimeRespondsJosé Valim2013-09-091-0/+7
|
* Remove BasicRendering and remove template functionality from AbsC::RenderingJosé Valim2013-09-091-7/+5
|
* Move skeleton methods from AV to AbsCŁukasz Strzałkowski2013-09-031-22/+0
| | | | | | | | | | The methods: * #render_to_body * #render_to_string * #_normalize_render Haven't had anything specyfic to ActionView. This was common code which should belong to AbstractController
* Return to using protected_instance_variables in AVŁukasz Strzałkowski2013-09-021-4/+0
|
* Fist stab on basic renderingŁukasz Strzałkowski2013-08-251-2/+0
|
* Add #rendered_format method to controllersŁukasz Strzałkowski2013-08-251-0/+4
|
* Add missing requires inside AVŁukasz Strzałkowski2013-08-251-0/+1
|
* Revert "Move setting content_type to AV"Łukasz Strzałkowski2013-08-251-2/+0
| | | | This reverts commit f4d602aff6cec80304b131ecfcc2676d0304f0cc.
* Move setting content_type to AVŁukasz Strzałkowski2013-08-251-0/+2
|
* Use concat to avoid allocating additional arrayŁukasz Strzałkowski2013-08-251-1/+1
|
* Pass args to render's super methodŁukasz Strzałkowski2013-08-251-1/+2
|
* Improve AV::Rendering docsŁukasz Strzałkowski2013-08-251-2/+8
|
* Remove view_assigns from AVŁukasz Strzałkowski2013-08-251-7/+0
| | | | It wasn't adding anything, just invoking super
* Code formatting & typo fixesŁukasz Strzałkowski2013-08-251-35/+35
|
* Move protected_instance_variables & view_assigns to AbstractControllerŁukasz Strzałkowski2013-08-251-15/+4
|
* Remove 'api plugin' from docsŁukasz Strzałkowski2013-08-251-3/+0
| | | | AbstractController::Rendering is module which defines thie api
* Create AbstractController::Rendering interfaceŁukasz Strzałkowski2013-08-251-17/+4
| | | | This interface should be use when implementing renderers.
* Move rendering from AP to AVŁukasz Strzałkowski2013-08-251-0/+186