[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
こんな感じで書くと見やすいと思う。