Rails控制器不向前端返回任何信息

时间:2018-01-07 01:57:30

标签: ruby-on-rails ajax

好吧,所以我有点不习惯,但是我现在已经开始反对这一天了大约一天,我无处可去。我有一个模型,基本上只是运行一个巨大的骰子滚轮并吐出一些字符串,控制器应该运行它并将其发送到页面显示。我的服务器终端似乎返回所有文本,但我通过ajax收到的是未定义的。当我尝试输出变量时,我得到一个空白字符串。 导轨:

class DisplayController < ApplicationController
  def index
  end

  def wound
    table = Table.new
    @wound = table.take_wound
    render layout: false
  end
end

这是我的js:

$( document ).ready(function() {
    console.log( "ready!" );
    $(".button_to").on("click", function(e){
      e.preventDefault()
      console.log("ayy")
      $.ajax({
        url: "/wound",
        type: "GET",
        dataType: "text",
        success: function(data){
          console.log(data+"!!")
          $(".response").text(data)
        }
      });
    });
});

如果这还不够,请告诉我,我会回答任何问题。

谢谢,互联网。

2 个答案:

答案 0 :(得分:1)

不确定您是否有视图模板设置来执行@wound以及@wound类型的操作,但假设您只需要基本的文本响应(基于您的客户端JS) ,假设@wound将该文本作为字符串,您可以将渲染行更改为以下内容:

render text: @wound

希望有所帮助!

答案 1 :(得分:0)

在Rails中你应该告诉客户他们正在请求你支持的格式,而不是你找不到合适的文件。

我认为这个链接可以帮助您更好地理解rails响应格式。

https://www.justinweiss.com/articles/respond-to-without-all-the-pain