[ruby][rails] Ajaxおさらいとactionの書き方

AjaxなLinkを作るときは、link_to_remote

  link_to_remote 'text', :update => :target_id, :url => url

こんな事さえ忘れるなんて。。やっぱ使ってないとダメだね。

ボタンの場合は

  submit_to_remote 'tag_name', 'text', :update => :target_id, :url => url

こんな感じ。

controller側では

  request.xhr?

Ajaxリクエストか否か判断できるんで、
例えば、入力フォームをajaxで出して、登録ボタンを押すと入力した内容で登録しにいく。
みたいな感じの処理だったら、

  def new
    return render :partial => :form
  end
  def create
    foo = Foo.new(params[:form]).save!
    redirect_to :action => show, :id => foo.id
  end

こーやって書くよりも、

  def new
    return render :partial => :form if request.xhr?
    foo = Foo.new(params[:form]).save!
    redirect_to :action => show, :id => foo.id
  end

こんな感じで書くと見やすいと思う。