1

次の例で ajax を作成する方法:

コントローラーで:

def index
    if params[:p] == "one"
        @record = "Hello, 1!"
    elsif params[:p] == "two"
        @record = "Hello, 2!"
    else
        @record = "something else"
    end
end

ビュー内 (hellos コントローラー、index アクション):

<%= link_to "One", hellos_path(:p => "one") %>
<%= link_to "Two", hellos_path(:p => "two") %>
<%= render :partial => 'record' %>

部分的な _record.html.erb:

<%= @record %>

それで全部です。インデックス コントローラーのすべてのアクションとパラメーターのみが変更されています。ページ全体をリロードしたくありません - 新しいコントローラ変数で部分的に記録するだけです。

それを「AJAX化」する方法は?:)

4

1 に答える 1

4

1- :remote => true をリンクに追加します。

<%= link_to "One", hellos_path(:p => "one"), :remote => true %>

2- ビュー index.js.erb を作成します。

$("#your_div").html("<%= render :partial => "record" %>")

3- index.html.erb に、id your_div の div を作成します。この div には @record オブジェクトが取り込まれます。

于 2012-10-10T11:52:12.557 に答える