【问题标题】:Ajax response in erb from ruby method defined in controller来自控制器中定义的 ruby​​ 方法的 erb 中的 Ajax 响应
【发布时间】:2020-07-10 11:51:38
【问题描述】:

我有一个定义了各种方法的 ruby​​ 控制器文件,我想获得 erb 中一种方法的响应,即使用 ajax 调用的前端。

我是 ruby​​ 的初学者,所以没有太多在 ruby​​ 中处理请求的经验,当我尝试运行以下代码时,它会在控制台中显示错误 404,说明找不到 url。

我添加了相关代码 sn-ps 而不是整个代码。


=> appcontroller.rb file


def returnimage_url
  image_url = "http://dfdabfyag.jpg"  //random url
  { :success => true, :img_value => image_url }.to_json
end

=> loadimage.erb file

<script>
function showImage(){
    $.ajax({
            url: '/returnimage_url',
            method: 'GET',
            dataType: "json",
            success: function(response){
                let image_data = JSON.parse(response);
                console.log(image_data);
            }
    });
}

showImage();
</script>

【问题讨论】:

    标签: ruby-on-rails ruby ajax erb


    【解决方案1】:

    你需要将/returnimage_url的路径映射到你的appcontroller.rb文件和具体方法。

    这应该在您的 config/routes.rb 文件中使用如下方式完成:

    get 'returnimage_url', to: 'app#returnimage_url'
    

    如果您将 appcontroller.rb 重命名为 app_controller.rb,这将起作用

    请参阅routing documentation 了解更多信息。

    您的代码中存在更多问题,但这应该会为您指明正确的方向并解决 404。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多