Rails 4在js视图中呈现Gritter消息
Rails 4 render Gritter messages in js view
使用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
这是我的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 allready)想法?
解决方案:
缩写:<%= (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 %>
相关文章:
- Ajax聊天消息重复而不仅仅是更新
- 如果localstorage为空,则显示欢迎消息
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 离开页面时弹出消息
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 消息显示之外的淘汰验证
- 选项卡侦听器未被来自后台脚本的消息激活
- jQuery在输入下验证post错误消息
- Scipt未在选定选项卡中执行以发送和接收消息
- 检查xmlhttprequest问题的消息
- AngularJs对ng消息的自定义替换
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- 当用户按下回车键时,自动在text区域/text中插入消息
- 如果消息框答案为YES,则用Javascript填写表单
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- 解析云代码错误:解析.错误{代码:141,消息:“未调用成功/错误”}
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- 在AngularJs中隐藏默认错误消息
- 使用JavaScript安全地发布消息
- Rails 4在js视图中呈现Gritter消息