Ich habe ein Problem in der Produktion, Code in meinem Teil funktioniert nicht wie erwartet auf Heroku.Schienen: App teilweise reagiert nicht normal in der Produktion (Heroku)
In meiner Website habe ich ein Quiz, in dem die Benutzer eine Frage mit Antworten erhalten. Bei immer macht die Frage richtig oder falsch dies eine teilweise für die Benutzer wie folgt aus:
<%= link_to "Answer1", correct_answer_courses_path,:remote => true,:class=>"btn btn-warning" %>
correct_answer.js.erb
$("#correct_answer").html("<%= j render partial: "beginnercourse/correct", locals: {questionnumber: @questionnumber, coursetitle: @coursetitle, routenumber: @routenumber} %>");
Der Controller
def beginnercourse_q1
def correct_answer
@questionnumber = 1
@routenumber = @questionnumber + 1
@coursetitle = "beginnerscourse"
respond_to do |format|
format.js
end
end
def false_answer
@questionnumber = 1
@routenumber = @questionnumber + 1
@coursetitle = "beginnerscourse"
respond_to do |format|
format.js
end
end
end
Und dies wird die Render teilweise, befindet sich in /beginnercourse/_correct.html.erb
<div>
<h2> Correct!</h2>
<% if $current_course.send("claimedreward#{questionnumber}") == false%>
<h2><span class = "yellowtext">Well Done, + 100 tradepoints</span></h2>
<% current_user.update_attributes(tradepoints: (current_user.tradepoints + 100)) %>
<% $current_course.update_attributes("claimedreward#{questionnumber}" => true) %>
<%= link_to "Next", "/courses/#{coursetitle}_q#{routenumber}",class:"btn btn-warning" %>
<%= render 'layouts/coursefooter' %>
<% else %>
<h2><span class = "redtext">Points were already rewarded</span></h2>
<%= link_to "Next", "/courses/#{coursetitle}_q#{routenumber}",class:"btn btn-warning" %>
<%= render 'layouts/coursefooter' %>
<% end %>
</div>
dieses
In Entwicklung alles funktioniert normal, aber auf Heroku gibt es ein paar Probleme:
- Als nächstes klicken, um es in der falschen Frage geht (nicht die neuen @routenumber bekommen? von der Steuerung). etwa 30% der Zeiten (scheint wirklich zufällig)
- Sagen, dass die Belohnung bereits gegeben wurde, während es nicht war. (auch etwa 1/5 der Zeiten)
Mein heroku log. (Heroku versucht, Frage 3 mal zu laden, anstatt zu Frage 5 zu gehen): https://gist.github.com/Mixelated/41e78b7fceae213541d95fad1d3c1908
Ich bin seit einer Weile darauf fest und kann nicht herausfinden, warum es auf Heroku nicht stabil läuft. Ich würde Ihre Hilfe sehr schätzen!
Habe gerade einen Fehler gefunden bei: '$ (" # correct_answer "). Html (" <% = j rendern teilweise: "anfängerkurs/korrekt", einheimische: {fragennummer: @fragenummer, coursetitle: @coursetitle, routenummer: @routenumber}%> ");', der Teilname 'anfängercourse/correct' sollte in einfache Anführungszeichen anstatt in doppelte Anführungszeichen gesetzt werden! –
Hey danke, änderte es aber immer noch das gleiche Problem – M1xelated
Könnte sein, weil Sie Instanzvariablen anstelle von lokalen Variablen verwenden. Entfernen Sie das @ -Zeichen. –