ruby-on-rails - 无法从 Rails Controller 呈现 JavaScript

标签 ruby-on-rails rjs

当用户在表单中输入无效内容时,我想显示一个带有错误消息的模式窗口,但如果一切正常,则呈现另一个操作。但是,当我尝试显示模式窗口时

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;
}

最佳答案

您是否尝试将代码放在部分中?所以代替

render :js => "jQuery.facebox(#{...})"

尝试
render :partial => "my_facebox_popup" 

然后在你的 里面_my_facebox_popup.html.erb 部分把你的代码:
<script type = "text/javascript">
...
</script>

使用 firebug 调试您遇到的任何错误.

关于ruby-on-rails - 无法从 Rails Controller 呈现 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2849654/

相关文章:

javascript - 修改复选框的checked属性无法正常工作

ruby-on-rails - 带有 cron 的可安装引擎(每当 gem 时)

ruby-on-rails - 删除用户帐户后如何重置 omniauth-google-oauth2 access_token

sql - 我需要在 Rails 应用程序中找到最近的日期

ruby-on-rails - 未定义的方法 'find_by_email' 错误

javascript - Parallel.js/WebWorker 和优化代码的问题

ruby-on-rails - ActionView::Template::Error(未预编译):

ruby-on-rails - Rails Ajax 单行 RJS 文件

javascript - Rails 通过 Javascript 提交部分错误

ruby-on-rails - 当 AJAX 调用在 Ruby on Rails 中失败时重定向到 500 页