javascript - 为什么我在执行 Controller 索引操作时无法通过 Rails 执行 AJAX?

标签 javascript ruby-on-rails ajax

这是我第一次在 Ruby on Rails 上尝试 AJAX 请求。我关注了RoR guide提出这个脚本。我的代码如下。

类(class) Controller

def index
     @course = Course.all
     respond_to do |format| 
          format.html{}
          format.js {}
     end
end

View /类(class)/index.js.erb

$('#dummy_div').hide();

views/courses/Trial.html.erb(从我调用 AJAX/索引 Controller 的位置查看)

<body>
<%= form_for(Course.new, :method => :get, remote: true) do |f| %>
<%= submit_tag "Search", :name => 'course_list' %>
<%end%>

<div id = "dummy_div" style = "width:100px; height: 100px;background-color:black;"></div>
</body>

我的预期结果是,一旦我提交了搜索功能,div 就会消失。然而,这并没有发生。我没有放入嵌入式 ruby​​,因为我只是首先测试纯 JS 是否有效。我的目的是稍后放入 erb (只是为了明确我正在针对 AJAX 测试它)。为什么index.js.erb文件中的JS没有被执行?

此外,如何在 Ruby on Rails 中调试 AJAX 请求?

最佳答案

我上面所做的绝对正确,应该是路由到js文件的正确方法。这实际上是初始化模型对象类(class)的问题,与上面的代码无关(我与模型名称 - 类(class)有一个小的拼写错误)。 比让 div 消失更好的测试 ajax 的方法是使用 console.log("i'm at:views/courses/index.js.erb");或警报(“我在:views/courses/index.js.erb”);正如约翰在上面的评论中提到的。

关于javascript - 为什么我在执行 Controller 索引操作时无法通过 Rails 执行 AJAX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21539558/

相关文章:

ruby-on-rails - 迁移错误 : undefined method `cache' for Gem:Module

javascript - Application.js 超过 1 Mb Rails

PHP 添加字符到 jQuery.AJAX 发布的字符串

php - TinyMCE SCRIPT5 : Access is denied. 同一域上的典型跨域错误

ruby-on-rails - Rails - link_to 和 button_to

javascript - 我是否在 JavaScript 中正确嵌套了这些 if/else if 语句?

javascript - AJAX 调用上的 SEO

javascript - 无法使用 vue 和 laravel 后端发布记录

Javascript全局变量覆盖函数中的局部变量范围

ruby-on-rails - Ocra 生成的 exe 不接受参数