Ajax ответ в erb от ruby метода, определенного в контроллере - PullRequest
0 голосов
/ 10 июля 2020

У меня есть файл контроллера ruby с различными определенными методами, я хочу получить ответ одного из методов в erb, то есть внешнего интерфейса, используя вызов ajax.

Я новичок в ruby , поэтому у меня нет большого опыта обработки запросов в ruby, когда я пытаюсь запустить приведенный ниже код, в консоли появляется ошибка 404, в которой указывается, что URL-адрес не найден.

Я добавил соответствующие фрагменты кода вместо всего код.


=> 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>

1 Ответ

0 голосов
/ 10 июля 2020

Вам необходимо сопоставить путь /returnimage_url с вашим appcontroller.rb файлом и конкретным c методом.

Это должно быть сделано в вашем config/routes.rb файле, используя что-то вроде этого:

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

Это будет работать, если вы переименуете свой appcontroller.rb в app_controller.rb

См. документацию по маршрутизации для получения дополнительной информации.

Есть больше проблем в ваш код, но это должно указать вам правильное направление и разрешить ошибку 404.

...