mam problem z dynamicznym ładowaniem contentu w moim projekcie, który jest częścią kursu na udemy.
Request kończy się sukcesem, ale niestety treść nie ładuje się na stronie.
var init_stock_lookup;
init_stock_lookup = function(){
$('#stock-lookup-form').on('ajax: success', function(event, data, status){
$('#stock-lookup').replaceWith(data);
init_stock_lookup();
});
$('#stock-lookup-form').on('ajax: error', function(event, xhr, status,error){
$('#stock-lookup-results').replaceWith(' ');
$('#stock-lookup-errors').replaceWith('Stock was not found');
});
}
$(document).ready(function(){
init_stock_lookup();
});
StocksController:
class StocksController < ApplicationController
def search
if params[:stock]
@stock = Stock.find_by_ticker(params[:stock])
@stock ||= Stock.new_from_lookup(params[:stock])
end
if @stock
render partial: 'lookup'
else
render status: :not_found, nothing: true
end
end
end
Byłbym wdzięczny za jakąkolwiek wskazówkę i pomoc. W programie kursu nie ma HAML’a i instruktorzy nie byli mi w stanie pomóc.
Instruktorzy nie byli w stanie pomóc ze względu na HAMLa czy w ogólnie nie byli w stanie pomóc ? W przeglądarce będziesz miał znaczniki HTML a nie HAMLowe.
powiedzieli tylko, że to na pewno błąd HAML’a i żebym sprawdził czy klasy i id są poprawne. Zrobiłem to i nie znalazłem żadnego błędu. Przesyłam kody do porównania
W Ruby on Rails 5 jeżeli korzystasz z turbolinków musisz mieć na uwadze fakt, że $(document).ready(function(){ uruchamiany jest tylko przy pierwszym załadowaniu / odświeżeniu strony. Przy przejściu na podstrony uruchamiany jest event turbolinks:load to może być jedną z przyczyn.