Ruby on Railsのコントローラのrenderメソッドの使い方を説明します。renderはViewの表示の制御を行うためのメソッドです。
🍄ビューの表示
renderを省略する
Railsのコントローラでrenderを省略すると「app/views/コントローラ名/アクション名.html.erb」を使います。
# app/controllers/articles_controller.rb |
他のアクションのビューを表示する
render アクション名で同じコントローラ内の別のアクションのビューを表示できます。
# newアクションのviewを表示 |
ビューのパスを指定して表示
ビューのパスを指定して表示することもできます。
# app/views/statics/home.html.erb を表示 |
🏀JSONを返す
renderにjsonオプションを付けるとJSONとしてレスポンスを返します。指定したオブジェクトにto_jsonオブジェクトがあれば、自動でJSONに返却します。
defindex |
出力内容の簡単な制御は「as_jsonメソッド」を活用するとはかどります。より複雑なjsonの出力フォーマットの指定はRailsに標準で組み込まれているRubyGem「jbuilder」がお勧めです。
🐯文字列を返す
renderにplainオプションを指定することで文字列を直接表示できます。(ビューを省略できます)
renderplain:'Hello, Ruby world!' |

😎ステータスコードのみ返す
APIなどでステータスコードのみ伝える場合はheadメソッドを使います。
# リクエストが正常に処理された |
🐞Viewの表示を文字列として取得する
ビューをrenderした結果を文字列として取得する場合は、render_to_stringメソッドを使います。
puts render_to_stringaction::index |


