因此,在我的 rails 应用程序中,我在我的一个页面上显示了错误消息。这个过程是(所以每个人都明白)首先,在我的“编辑”中,link_to
我:remote => true
在它的末尾添加了它,因此它发送了一个 ajax 请求。format.js
然后我在我的respond_to do |format|
块中添加了该行。然后,我使用以下代码行创建了一个 edit.js.erb 文件,该文件$('#error').html("<%= flash[:error] %>");
基本上找到了当前页面中的错误 div 并将该 div 中的 html 替换为错误 flash 消息。这很酷吧?发生错误时不再烦人的页面刷新。
问题是,我想对我的所有编辑和销毁页面执行此操作,但是如何不为每个视图文件夹创建 edit.js.erb 和 destroy.js.erb 文件?看起来很简单,也许我只是因为筋疲力尽而错过了一个明显的答案,但我无法弄清楚......所以......帮助??????
编辑!
这是我的编辑控制器
def edit
user = User.find(session[:id])
@table = Table.find(params[:id])
if user.id != @table.created_by
flash[:error] = "ERROR"
respond_to do |format|
format.js {render :template => 'shared/show_error'}
format.html
end
else
flash[:error] = ""
respond_to do |format|
format.js {render :template => 'table/edit', :formats => :html}
format.html
end
end
end
现在的问题是,它可以很好地显示错误,但是如果没有错误,它就不会呈现编辑页面...在服务器窗口中它显示它确实如此,但它实际上并没有显示在屏幕上...有什么想法吗?