0

私は Rails が初めてで、jquery で ajax を実行する方法をよく知っていますが、Rails がそれを行う方法を理解していません。

Rails ajax の仕組みを理解するための簡単な例:

ケース - 結果の div に ajax レスポンスを挿入します。

見る:

<div id="result">1result,2result, </div>

<%= form_tag('/mycontroller',{:class =>"myform",:remote => true}) do %>
    <input name="myinput" type="text">
    <button type="submit" class="btn"> add </button>
<% end %>

コントローラ:

def create
      render :json => "3result";
end

応答が成功した後、div 内に 3result を挿入するには何を追加すればよいですか?また、エラー ケースを処理するにはどのコードを追加すればよいですか?

4

2 に答える 2

1

コントローラーのコードを次のように変更します。

def create
  ...
  respond_to do |format|
    if (success_condition)
      format.js
    else
      format.js { render :js => "alert('Unsuccessful!');" }
    end
  end
end

以下を含む create.js.erb というビューを作成します。

$("#result").html("3result") // or whatever you want it to do...

(注: Javascript は、JQuery がインストールされていることを前提としています。)

于 2012-08-15T18:04:00.090 に答える
1

このコードをコントローラーに置くことができます

render :update do |page|
ページ << "$('#result').append('3result')"
end

'jquery-rails' gem がインストールされていることを確認してください。

その領域を使用して、エラーをチェックし、別のものをレンダリングできます。

于 2012-08-15T17:25:08.643 に答える