【发布时间】:2013-06-30 18:52:35
【问题描述】:
我是 Rails 的新手。我有一个在 RAILS 中执行基本 AJAX 功能的程序。单击链接 TEST 时,将执行控制器中的测试路径,该控制器执行 test.js.erb。但是我在服务器日志中看到了该内容,但没有看到警报消息。
index.html.erb:
<%= link_to 'TEST', test_path, :remote => true %> <br>
测试动作:
def test
respond_to do |format|
format.js
end
end
测试 js.erb:
"alert('Hello Rails');"
服务器日志:
在 2013-06-30 11:34:37 -0700 开始为 x.x.x.x 获取“/test”
DefaultController#test 作为 JS 处理
渲染默认/test.js.erb (0.3ms)
2ms 内完成 200 OK (Views: 2.1ms | ActiveRecord: 0.0ms)
如果我更改代码以直接从控制器操作呈现 js,如下所示,我会看到警报消息。
def test
render :js "alert('Hello Rails');"
end
但我希望 js 在单独的 js 文件中执行。有人可以帮助我解决我做错了什么,以及如何将其作为 test.js.erb 的一部分执行吗?
【问题讨论】:
-
只需从警报中删除双引号
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2