0

私がルートを持っていることを考えると。

  root :to => 'pessoas#index'
  post '/pessoas'  => 'pessoas#create'

そして、私のビュー app/view/pessoas/ index.hamlには次のビュー コードがあります。(ここに送信すると pessoas#create に投稿されます)

= form_tag "/pessoas", :method => :post, :remote => true, :id => "participe" do
  ...
  = button_tag "Sign up", :class => "envia"

そして、私のcreate.js.erbビューは.

$('#user-feedback').html('<%= @message %>');

コントローラ コードはモデルを保存するだけです。

  def create
    @pessoa = Pessoa.new(params[:cliente])
    if @pessoa.save
      @message = "Success"
    else
      @message = "Failure"
    end
    respond_to do |format|
      format.js
    end
  end

次に、ルート パスに移動します。フォームに入力して [送信] をクリックします。次に、要素 p#user-feedback は変更されていません。なんで?

アプリのログで気付きました: リクエストは正しく行われ、jquery も実行されましたが、現在のビュー (インデックス) ではなく /pessoas の応答でレンダリングされます。

私に何ができる?それとも、これを忘れて $.ajax の方法でこれを作成する必要がありますか? ユーザーにフィードバックを提供する方法が必要です。

4

0 に答える 0