RJSとアクションコントロラー


1,render rjsを指定することにより、他のテンプレートはrjs前のrenderから回避することができます.

def product
  # skip product.rhtml or product.rxml if either exists
  render :action => "product.rjs"
2,レスリングランドを通ることができます.トは異なるフォーマットを指定してください.

def product
  respond_to do |format|
    format.html {flash["notice"] = 'here is a product'}
    format.js {render :action => "product.rjs"}
    format.xml {render :xml => @product.to_xml}
3,RJSテンプレートをレンダリングする時はActControllerは自動的にskyp layoutsになりますので、指定しないでください.layout=>false
4,rendeng options
Option        Work with RJS    Returns Contect-Type=text/javascript?
:action         expected                 はい
:template       expected                 はい
:file           expected                 はい
:オンライン         not useful               No.
:partial        not useful               はい
:text           not useful               No.
5,Inline Rendering

def update
  render :update do |page|
    page.replace_html, 'header', :partial => 'header'
  end
end
6,Browser Redirection

render :update do |page|
  page.redirect_to :controller => 'employees', :action => 'list'
end

render :update do |page|
  page.redirect_to 'http://www.shopify.com'
end