1. ホーム
  2. ruby-on-rails

[解決済み] rails 5.1以降で `render :text` (および `render nothing: true`) の代わりに何を使うか?

2023-06-18 02:15:45

質問

Rails 5.1 は、以前非推奨だったメソッドを大量に削除し . その中には、古くからの友人である render :text .

をレンダリングする必要があるときに非常に便利でした。 いくつかの テキストを表示する必要があるけれども、ビューテンプレートのオーバーヘッドを必要としない場合に非常に便利です。例を挙げます。

render text: "ok"
render text: t('business_rules.project_access_denied'), status: 401

代わりに何を使うか?

どのように解決するのですか?

非推奨の方法として render :plain

レイアウトとレンダリングに関するRailsガイド :

<ブロッククオート

2.2.6 テキストのレンダリング

マークアップされていないプレーンなテキストをブラウザに送るには、以下のように :plain オプションを使ってレンダリングします。

render plain: "OK"

ボーナス

の代わりに render nothing: true (これも削除されました) の代わりに、現在は head :ok . 同じことをします: http 200 レスポンスコード、ヘッダだけ、コンテンツなしを送信します。