2011-12-14 5 views
0

JavaScriptからPUT、POST、またはDELETEコールを実行するにはどうすればよいですか?Railsのjavascriptデータベースのクエリ

jqueryのドラッグアンドドロップを使用してデータを収集しました。これをどのようにしてデータベースに送りますか?私はjQuery.ajaxを使うことができるかもしれないと思っていますが、どのように正確に動かすことはできません。

任意のポインタをいただけれ。

ソリューション:

これは

$(document).ready(function() { 
    $.ajax({ 
     type: "PUT", 
     url: "/articles/8", // should be mapped in routes.rb 
     data: {articles:{name:"New Name"}} 
     }); 
}); 

の作品javascriptのである。しかし、それは新しい名前に、物品8の名前は変更されません。 Firebugはエラーを表示しませんが、編集にデータを渡すことはできません。

URLはput urlを使用した標準的なアップデートです。ルートに存在します。

答えて

2

これにはjQuery ajaxを使用できます。これは、サーバー側のコードでブラウザの要求を動的に処理する非常に良い方法です。

http://api.jquery.com/jQuery.ajax/

http://api.jquery.com/category/ajax/

Railsのコード

def edit_comment 
@comment = params[:comment] 
// store to database 
    response_to do |format| 
    render :html 'comment.html' 
    end 
end 

routes.r詳細については

jQuery('#element_id').on('click change',function(){ // use event as per your need $.ajax({ type: "GET", url: "/edit_comment", // should be mapped in routes.rb data: {comment:"new comment"}, datatype:"html", // check more option success: function(data) { // handle response data }, async: true }); }); 

は、これらのリンクをチェックPUTのためにB

map.edit_comment "edit_comment", :controller => 'comment', :action => 'edit_comment' 
+0

ご協力ありがとうございます - もう少し詳しい説明が必要です。 これを使用してコメントを編集するには、@commentを使用して制御メソッドのURLを探しますか? 私はエドワードが データもあるように名前を編集したい場合、私は、データを入力しています:{名:「エドワード」}ええ、あなたがそれを – Edward

+0

を行うことができます... –

+0

私はコメントを作るために、コードを編集しました少しクリアなこと。それを理解しようとするだけです。 –

2

と_methodという名前の追加のパラメータの追加、削除:_method=PUT
RailsはPUTとDELETEをシミュレートするためにそれを使用します。

+0

_method = PUTのようには思われません - 'missing:after property id'のエラーが発生します _method: "PUT"はエラーを投げていません。まだデータを入力することはできませんでした。データの受け渡し方法はまだ分かりません。 – Edward

+0

例はjsではないURLコードでした。 JSでは実際に引用符を追加します。データを "data:{}"パラメータまたはjquery ajax要求に渡します。 – clyfe