2

編集済み

多くの解決策を試しましたが、何も機能しませんでした。

create.js.erb のコードは次のとおりです。

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

これが私のコントローラーです:

   def create
@website = current_user.websites.new params[:website]

respond_to do |format|
  if @website.save
   format.html { redirect_to  @website, notice: 'Website was successfully created.' }
  format.js {
    flash[:notice] = 'Website was successfully created.'
    render action: 'create'
  }

   else
    format.html { render action: "new" }
    format.js { render action: "new" }
   end
  end
end

私の通知アラートの HTML:

       <div class="alert alert-notice">

うまくいかない理由を教えてください。

4

2 に答える 2

1

js リクエストではなく、html リクエストに応答するときにのみ通知を設定しているようです。次のようなものが必要だと思います。

def create
  @website1 = Website1.new(params[:website1])

  respond_to do |format|
    if @website1.save
      format.html { redirect_to @website1, notice: 'website1 was successfully created.' }
      format.js {
        flash[:notice] = 'website1 was successfully created.'
        render action: 'create'
      }
    else
      format.html { render action: "new" }
      format.js { render action: "new" }
    end
  end
end
于 2012-07-31T09:54:45.487 に答える
0

行を削除してみてください

レンダリング アクション: 「作成」

于 2012-07-31T11:05:36.190 に答える