Javascript 加载资源失败:服务器响应状态为500(内部服务器错误)Ajax Rails错误

Javascript 加载资源失败:服务器响应状态为500(内部服务器错误)Ajax Rails错误,javascript,ruby-on-rails,ruby,ajax,Javascript,Ruby On Rails,Ruby,Ajax,我目前正在尝试向rails应用程序添加一些ajax。当我尝试创建一个新帖子时,我遇到了这个错误。我知道帖子是被创建的,因为当我刷新页面时,帖子会出现在帖子列表中 posts\u controller.rb app/views/posts/index.html.erb routes.rb 现在我希望在点击提交后,我会看到poste被创建!但我没有。我刚刚收到一个内部服务器错误。从这里我不知道该怎么办。如果我能提供任何其他信息,请告诉我。看起来可能是语法错误 { render :show, stat

我目前正在尝试向rails应用程序添加一些ajax。当我尝试创建一个新帖子时,我遇到了这个错误。我知道帖子是被创建的,因为当我刷新页面时,帖子会出现在帖子列表中

posts\u controller.rb app/views/posts/index.html.erb routes.rb
现在我希望在点击提交后,我会看到poste被创建!但我没有。我刚刚收到一个内部服务器错误。从这里我不知道该怎么办。如果我能提供任何其他信息,请告诉我。

看起来可能是语法错误

{ render :show, status: :created, location: @post }
从post中呈现json并用javascript控制逻辑会更简单

render json: @post
然后在javascript中有一个关于表单成功的侦听器

    $("form").on("ajax:complete", (xhr, status) ->
           alert("Post was created!");
    )
    $("form").("ajax:error", (xhr, data, status) ->
      "Handle errors here";
    )

当您看到该错误时,需要在rails控制台中查找原因。将该输出添加到问题中会更容易理解help@maxple不幸的是,我在docker容器中运行服务器,没有得到任何日志。因此,我正在使用ChromeIt中的控制台进行调试,不幸的是,您没有访问日志的权限!你不能进集装箱吗<代码>docker exec/bin/bash然后检查日志。更好的是,您可以将rails应用程序的日志目录定义为docker卷,这样您就可以从开发箱访问它。似乎您需要首先修复您的开发环境,以便在测试代码时看到发生了什么。这个JS逻辑将放在哪里?为简单起见,您可以将它放在application.jsI中,实际上它是用来创建这些控制器操作的,所以我不认为有语法错误。出于某种原因,我的format.js没有受到攻击。我知道这一点,因为数据正在被保存,除了format.js之外的所有内容都会中断
resources :posts
{ render :show, status: :created, location: @post }
render json: @post
    $("form").on("ajax:complete", (xhr, status) ->
           alert("Post was created!");
    )
    $("form").("ajax:error", (xhr, data, status) ->
      "Handle errors here";
    )