2012-02-15 12 views
0

は、私のように実装します。
1.ポストコントローラーのテストアクションを定義します。rails 3.1:それはajaxですか?レール3.1で

def test 
    @p = Post.first 
    respond_to do |format| 
     format.js 
    end 
end 

2. routes.rbをして定義します。index.htmlをで

resources :posts do 
    collection do 
    get 'test' 
    end 
end 

3.を。ポストフォルダのERB、私はリンクを追加:

<%= link_to "test", test_post_path, :remote => true %> 

4.ポストフォルダ内のtest.js.erbファイルを作成します。

code jQuery 

私の質問は、「私のAjaxは、レール3.1に実装されていますか?私はレールでAJAXを理解していません。
いいえ、レール3.1でAjaxに関するリンクを教えてください。設定したテクニックは何ですか?

答えて

2

はいこれはajaxです。レールのリンクとフォームに:remote => trueを追加すると、ブラウザ上のページを更新せずに自動的にサーバーにデータが送信されます。これはどの言語/スクリプトでもajaxが動作する方法です。

あなたの場合、test.js.erbファイルのjsコードを(jQueryを使用して)ページを更新/インタラクションすることができます。を設定したインスタンス変数の属性を使用して、いくつかのhtml div要素を更新することができます。

例:あなたのtest.js.erb

$("#some_div").html("<%= @p.title%>"); 

に続いて、あなたは基本的にサーバーにAJAX要求を行ってきた、さわやかせずにサーバーのデータとクライアントブラウザのページを更新します。

0

あなたのリクエストは、あなたのリンクからAjaxによって行われます。しかし、あなたの行動の復帰はあなたにとって有用ではありません。

app/view/postsディレクトリにtest.js.erbファイルを追加し、必要なJavascriptの動作を入力する必要があります。

関連する問題