5

リロードなしで動作する make flash[:notice] のさまざまなバリエーションを試しました。

Stackoverflow はこれを教えてくれました - How do you handle Rail's flash with Ajax requests? 、しかし、私は解決策を見つけることができません。

たとえば、私のコントローラーに追加されました:

def create
  @entry = Entry.new(params[:entry])
  respond_to do |format|
  if @entry.save
    format.html { redirect_to @entry, notice: 'Entry was successfully created.' }
    format.js {
  flash.now[:notice] = 'Website was successfully created.'
 render action: 'create'
}
  else
    format.html { render action: "new" }
    format.js { render action: "new" }
  end
  end
end

create.js

   $('<%= j render @website %>').appendTo('#websites').hide().fadeIn();
  $(".alert").html("<%= escape_javascript(flash[:notice]) %>"); $(".alert").show(300);
  $("#new_website")[0].reset();

しかし、うまくいきませんでした。

誰かが彼のために働いた、理解できる完全な解決策を教えてもらえますか?

4

2 に答える 2

2

js テンプレートのファイル名をタイプミスしていませんか? create.js.erb である必要がありますが、create.js ではありません。 https://stackoverflow.com/a/8873592/557863
に厳密に従ってから、変更を加えてください。

于 2012-12-05T03:44:08.227 に答える