What to use instead of `render :text` (and `render nothing: true`) in rails 5.1 and later?

Ruby on-RailsRubyRuby on-Rails-5

Ruby on-Rails Problem Overview


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?

Ruby on-Rails Solutions


Solution 1 - Ruby on-Rails

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSergio TulentsevView Question on Stackoverflow
Solution 1 - Ruby on-RailsSergio TulentsevView Answer on Stackoverflow