使用Rails 4.2.4,ruby 2.2.2,gritter gem 1.2.0。我的控制器用js响应:
#posts_controller.rb
if @post.update post_params
gflash :success => "Link updated"
end在带有official doc的accordion中,这是我的js视图:
#update.js.erb
<%= gflash :js => true %>问题是没有渲染,Rails服务器工作正常,控制台中没有显示任何问题。我已经检查了生成的js,我看到了以下内容:
jQuery(function(){jQuery.gritter.add({image:'/assets/success-0b8a2dedd729f28e513472812f5483ae2817ae482c0b744c3ce56c9dd2b2bc1d.png',title:'
Success',text:'Link updated'});});浏览器似乎没有呈现jQuery函数。(我已经在我的应用中安装了jquery )有什么想法?
发布于 2016-01-06 21:33:30
解决方案:
简写:<%= (gflash :js => true).html_safe %>
Long:使用Fiddler Web调试器检查服务器响应我注意到响应是这样的:
jQuery(function(){jQuery.gritter.add({image:'/assets/success-0b8a2dedd729f28e513472812f5483ae2817ae482c0b744c3ce56c9dd2b2bc1d.png',title:'Success',text:'Link updated'});});如果我在chrome控制台中执行上面的代码,我会得到一个错误:
VM8474:2 Uncaught SyntaxError: Unexpected token 因此,我可以使用html_safe方法:<%= (gflash :js => true).html_safe %>
https://stackoverflow.com/questions/34462388
复制相似问题