Ruby on rails 如何显示来自ajax表单提交的flash消息?

Ruby on rails 如何显示来自ajax表单提交的flash消息?,ruby-on-rails,ajax,Ruby On Rails,Ajax,在Rails 3.2应用程序中,我有一个通过Ajax提交的表单,通过flash消息向用户提供反馈 有两种(或更多?)方法可以实现这一点 我可以在控制器中定义格式js,然后重新加载flash消息 #template.js.erb `$(".flash-container").html("<%= escape_javascript(render partial: 'shared/flash_messages') %>");` #template.js.erb `$(“.flash co

在Rails 3.2应用程序中,我有一个通过Ajax提交的表单,通过flash消息向用户提供反馈

有两种(或更多?)方法可以实现这一点

我可以在控制器中定义
格式js
,然后重新加载flash消息

#template.js.erb
`$(".flash-container").html("<%= escape_javascript(render partial: 'shared/flash_messages') %>");`
#template.js.erb
`$(“.flash container”).html(“”)`
或者我可以从jquery函数(例如)呈现flash html

我的问题是,这两种方法有什么优点或缺点

我理解jquery函数是如何工作的,但我(还)不完全理解使用js方法在Rails内部发生的事情。一个对另一个是否有性能影响

一种方法被认为比另一种更“无礼”吗


我渴望了解其他人会如何处理这一问题,以及哪一种是首选方法。

在您的控制器中创建

respond_to do |format|
    format.js { render 'your_js_file' }
end
像wise一样,js.erb中要渲染的内容是完成任务的最佳方式

1:这是最常见的方式,其他阅读你代码的人会更好地理解发生了什么。我见过很多人用这种方式做过几次,所以我知道它是如何工作的。“接吻”

2:至于你展示的第二种方法,它看起来很“好看”,但因为你还没有理解它,并且觉得有必要对它进行调试,这告诉你它的阅读能力,它应该和代码看起来有多酷一样重要。如果您必须调试它,那么请考虑这种方式,其他阅读您代码的人也会这样做


有时候,最好的方法就是你知道如何去做

你有第一种工作方法吗?谢谢数字蛋糕。我有第一种工作方法。第二,我真的不需要调试,更多的修改,以适应我的应用程序。我想知道的是,这两种方法是否存在性能方面的考虑因素或其他优势/劣势,或者它们是否以不同的方式做相同的事情?亲吻和用“轨道”方式做事的好处