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

看来您只是在响应html请求时设置通知,而不是js请求,我认为您需要这样的东西:

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 回答