What to use instead of `render :text` (and `render nothing: true`) in rails 5.1 and later?
Rails 5.1 removes a whole load of previously deprecated methods. Among them is the old friend render :text
.
It was very useful when you need to render some text, but don't want the overhead of a view template. Examples:
render text: "ok"
render text: t('business_rules.project_access_denied'), status: 401
What to use instead?
Solution 1:
The non-deprecated way is to use render :plain
Rails Guide on Layouts and Rendering:
2.2.6 Rendering Text
You can send plain text - with no markup at all - back to the browser by using the
:plain
option to render:render plain: "OK"
Bonus
Instead of render nothing: true
(also removed), one should now use head :ok
. Does the same thing: sends http 200 response code, just the headers, no content.