javascript - vanilla javascript 渲染平面文本 RAILS

标签 javascript ruby-on-rails ruby-on-rails-3.1

我一直在使用普通的 javascript,我只是渲染一条简单的警报消息,但它将 JS 代码渲染为 View 中的平面字符串。这是我的代码

def index
render :js => "alert('Hello Rails');"
end

它呈现相同的字符串“alert('Hello Rails');”对我来说是 View 而不是警报消息。 我使用 Rails 3 并作为 Rails guide代码看起来没问题。

任何答案将不胜感激。谢谢

最佳答案

比较以下两个片段:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
    alert('Hello Rails');
    </script>
</body>
</html>

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    alert('Hello Rails');
</body>
</html>

第一个生成警报消息,第二个仅显示字符串。浏览器不会执行 JS 代码,除非它被 <script> 包裹起来。标签。 @Erez 答案中的 jQuery ajax 调用也将响应包装为 <script>内部。

因此,如果您直接访问操作,请尝试用 <script> 包装它,或者,更好的是,使用 javascript_tag 帮助程序 (http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-i-javascript_tag)

关于javascript - vanilla javascript 渲染平面文本 RAILS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489940/

相关文章:

ruby-on-rails - 手动创建参数哈希 rails

javascript - 当 DOM 动态变化时,如何处理附加 `data-*` 属性的 JavaScript 事件?

ruby-on-rails - rails : Use library of models

ruby-on-rails - 使用 has_secure_password 和 oauth(比如 facebook)认证

ruby-on-rails-3.1 - rails 中的 button_to 如何请求 JSON 响应?

javascript - 如何同步重复onclick函数

javascript - 从列表中选择用户

javascript - Chrome 控制台中丢失换行符

javascript - 如何单击链接并使游戏在我页面的特定区域弹出而不显示直到单击

javascript - 在Rails 3中从observe_field更改为JQuery