【问题标题】:Rails 4 render Gritter messages in js viewRails 4 在 js 视图中渲染 Gritter 消息
【发布时间】:2015-12-25 11:19:20
【问题描述】:

使用 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,这是我的 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) 想法?

【问题讨论】:

  • 在浏览器控制台中查看 jQuery 和 jQuery.grutter。
  • 对不起,结帐的程序是什么?
  • 在 Chrome 控制台中可以正常工作。我不知道

标签: javascript jquery ruby-on-rails ruby gritter


【解决方案1】:

解决方案:

短: &lt;%= (gflash :js =&gt; true).html_safe %&gt;

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

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

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

VM8474:2 Uncaught SyntaxError: Unexpected token 

所以使用html_safe 方法对我有用:&lt;%= (gflash :js =&gt; true).html_safe %&gt;

【讨论】:

    猜你喜欢
    • 2013-09-08
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 2012-01-13
    • 2016-05-17
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多