无法从 Rails 控制器渲染 JavaScript
当用户在表单中输入无效内容时,我想显示一个带有错误消息的模式窗口,但如果一切正常,则呈现另一个操作。但是,当我尝试显示模式窗口时,
render :js => "jQuery.facebox(#{...})"
仅显示调用的实际 JavaScript:
try {
jQuery.facebox(...)
} catch (e) { alert('RJS error:\n\n' + e.toString());
alert('jQuery.facebox(\"<div class=\'error\'>Error</div>\")');
throw e;
}
I want to display a modal window with an error message, when the user has entered something invalid in a form, but render another action if everything is OK. However, when I try to display the modal window with
render :js => "jQuery.facebox(#{...})"
only the actual JavaScript called is displayed:
try {
jQuery.facebox(...)
} catch (e) { alert('RJS error:\n\n' + e.toString());
alert('jQuery.facebox(\"<div class=\'error\'>Error</div>\")');
throw e;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是否尝试过将代码放在部分中?因此,不要
尝试
然后在您的 _my_facebox_popup.html.erb 部分中放置您的代码:
调试使用
Have you tried putting the code in a partial? So instead of
try
Then inside of your _my_facebox_popup.html.erb partial put your code:
debug any errors you get with firebug.
试试这个
Try this
也许您应该在 jQuery 调用中指定您正在等待的响应的数据类型。
例如:
Maybe you should specify in the jQuery call the dataType of the response you're waiting for.
E.g.: