【发布时间】:2012-07-30 07:49:28
【问题描述】:
我尝试了不同的 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();
但是没有用。
谁能告诉我可以理解的完整解决方案,对他有用吗?
【问题讨论】:
-
您的视图模板
create.js.erb的外观如何?您应该在那里使用当前的闪光灯。 -
看起来不错,尝试使用firebug查看服务器的ajax响应并调试js代码。
-
没有与表单相关的错误。仅与所选插件相关的错误。
-
我应该在 FireBug 控制台中添加一些观察者?
-
你应该执行 AJAX 请求,检查服务器的响应并查看输出的样子,然后尝试在 firebug 控制台中执行相同的 JS 代码。
标签: ruby-on-rails ajax notice