Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
634 views
in Technique[技术] by (71.8m points)

ruby - 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...