第2項. Render機能の使い方について

Render機能(画面描画機能)の使い方について説明する。

 1. renderメソッドについて

render機能は、各コントローラのアクションメソッドの最後で呼び出す必要はありません。renderメソッドが呼び出されなかった場合は、デフォルトで現在のアクションに対応するrenderが呼び出されます。

また、呼ばれたアクションに対応するメソッドが無い場合でも、対応するerbファイルが存在する場合は、そのファイルがrenderされます。

 2. ファイルのレンダリングを行う

ファイルをレンダリングするには、renderメソッドのオプションで:fileを指定します。

 

render :file => “Setting/render.erb” # /app/Setting/render.erb

 

がレンダリングされる。

ファイルのレンダリングを行うときには、呼び出し側のインスタンスを使用して、レンダリングを行います。ファイルのレンダリングを行うときのレイアウトは、デフォルトでfalseとなっています。

 3. 部分テンプレートのレンダリングを行う

部分テンプレートのレンダリングを行うには、renderメソッドのオプションで、:partialを指定します。

 

render :partial => “partial_temp” # => _partial_temp.erb

 

ファイルがレンダリングされる。

レンダリング先に値を渡すには、:collectionオプションもしくは、localsオプションを使用します。

 

render :partial => “partial_temp”, :collection => [1,2,3]

 

:collectionを使用すると、:collectionに設定している配列の要素ごとにレンダリングされます。

 

render :partial => “partial_temp”, :locals => {:attr => “attributes”}

 

:localsには、ハッシュ形式で値を指定します。値を指定すると、指定した値のキーの名前のローカル変数をレンダリング先で取得することができます。上の例では、レンダリング先で、ローカル変数attrを使用することができるようになります。

別のフォルダの部分テンプレートを呼び出すには、以下のような記述をします。

 

render :partial => “other_folder/partial_temp”

システム工房エムのサイトへのリンク

住所〒690-0017 島根県松江市西津田3-2-3 TEL.0852-23-8590 FAX.0852-23-8591
Copyright 2008-2010 System Maker M,All right reserved