首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4在js视图中呈现Gritter消息

Rails 4在js视图中呈现Gritter消息
EN

Stack Overflow用户
提问于 2015-12-25 19:19:21
回答 1查看 333关注 0票数 1

使用Rails 4.2.4,ruby 2.2.2,gritter gem 1.2.0。我的控制器用js响应:

代码语言:javascript
复制
#posts_controller.rb
if @post.update post_params
  gflash :success => "Link updated"
end

在带有official doc的accordion中,这是我的js视图:

代码语言:javascript
复制
#update.js.erb
<%= gflash :js => true %>

问题是没有渲染,Rails服务器工作正常,控制台中没有显示任何问题。我已经检查了生成的js,我看到了以下内容:

代码语言:javascript
复制
jQuery(function(){jQuery.gritter.add({image:'/assets/success-0b8a2dedd729f28e513472812f5483ae2817ae482c0b744c3ce56c9dd2b2bc1d.png',title:'
Success',text:'Link updated'});});

浏览器似乎没有呈现jQuery函数。(我已经在我的应用中安装了jquery )有什么想法?

EN

回答 1

Stack Overflow用户

发布于 2016-01-06 21:33:30

解决方案:

简写:<%= (gflash :js => true).html_safe %>

Long:使用Fiddler Web调试器检查服务器响应我注意到响应是这样的:

代码语言:javascript
复制
jQuery(function(){jQuery.gritter.add({image:&#39;/assets/success-0b8a2dedd729f28e513472812f5483ae2817ae482c0b744c3ce56c9dd2b2bc1d.png&#39;,title:&#39;Success&#39;,text:&#39;Link updated&#39;});});

如果我在chrome控制台中执行上面的代码,我会得到一个错误:

代码语言:javascript
复制
VM8474:2 Uncaught SyntaxError: Unexpected token 

因此,我可以使用html_safe方法:<%= (gflash :js => true).html_safe %>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34462388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档