render

レンダリング(render)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

  • 指定したRHTMLを返す
  • 対応しているテンプレートを呼ぶ際は、このメソッドを呼ぶ必要はない

注意点

  • 同じアクション内でrenderメソッドを複数呼び出すと、エラーになるので、and returnを付ける

使い方

render オプション
オプション
オプション説明
:action他のアクションのテンプレートを表示
:partial部分テンプレートを呼び出して表示
:templateテンプレートを指定して表示
:layoutレイアウトを指定
:fileファイルを指定して表示
:text任意のテキストを指定して表示
:xml指定されたテキストを表示し、コンテンツタイプをapplication/xmlに設定
:json指定されたテキストを表示し、コンテンツタイプをtext/x-jsonに設定
:update ブロックで処理を行い表示
:inlineビューとするソースコードを直接指定
:nothing何も表示しない
:statusステータスコードを制御

render :action

説明

他のアクションのテンプレートを表示

使い方
render :action => アクション名
  • レイアウトを指定
    render :action = "アクション名", :layout => レイアウト名
「_new.html.erb」を表示
render :action => "new"
他のレイアウトを使用
render :action => "new", :layout => "user"
レイアウトは使用しない
render :action => "new", :layout => false

render :template

説明

他のコントローラのテンプレートを表示

使い方
render :template = コントローラ名/アクション名
他のコントローラのテンプレートを表示
render :template => "user/show"

render :file

説明

アプリケーション外のテンプレートを表示

使い方
render :file => ファイルパス
「/common/template/index」を表示
render :file => "/common/template/index"

render :text

説明

文字列を直接表示

使い方
render :text => "文字列"
レイアウトを適用
render :text => "文字例", :layout => true
エラーメッセージの表示
render :text => "文字例!, :status => 500
「hello world!」を表示
render :text => "hello world!"
文字列とstatusコード500を返す
render :text => "Explosion!", :status => 500
レイアウトを使用して文字列を表示
render :text => "Hi there!", :layout => true

render :partial

説明

部分テンプレート

使い方
render :partial => "部分テンプレート名"
_page.rhtmnlを使って表示
render :partial => "page"
部分テンプレートを繰り返し表示
render :partial => "user", :collections => @users
部分テンプレートにローカル変数を渡す
render :partial => "user", :locals => { :val1 => xxx, :val2 => xxx }

render :inline

説明

アプリケーション外のテンプレートを表示

使い方
render :inline => テンプレート文字列
現在の時刻を表示
render :inline => "<%= Time.now %>"

render :layout

説明

レイアウトを指定

使い方
render :layout => レイアウト名 [, オプション]
オプション
オプション説明
:only指定されたアクションにだけ、レイアウトを適用
:except指定されたアクション以外にレイアウトを適用
pageのレイアウトを使用
render :layout => 'page'

render :xml

説明

指定されたテキストを表示し、コンテンツタイプをapplication/xmlに設定

使い方
render :xml => モデル or 文字列
pagesテーブルの内容をXML形式で出力
@pages = Page.all
render :xml => @pages

render :json

説明

指定されたテキストを表示し、コンテンツタイプをapplication/xmlに設定

使い方
render :json => モデル or 文字列
pagesテーブルの内容をJSON形式で出力
@pages = Page.all
render :json => @pages

render :nothing

説明

何も出力しない。:statusオプションと組み合わせて、エラーコードを返す時などに使う。

使い方
render :nothing => true
404コードを返す
render :nothing => true, :status => 404

その他

renderを複数使用
説明

renderを複数回呼び出すとエラーになるため、条件分岐した後「and return」で明示的に終了させる。

使い方
render オプション and return

ソースコード

ソースコード検索