#Schlechtes Schreiben
@incorrect_questions = session[:incorrect_question_ids].map { |n| Question.find(n.to_i) }
#Warum nicht?
#Wenn dies der Fall ist, wird für jede Anzahl von Fällen eine Abfrage ausgegeben, die die Frage aufruft. Wenn 100 vorhanden sind, werden 100 Abfragen ausgegeben. Dies ist also besser.
#Gut geschrieben
@incorrect_questions = Question.where(id: session[:incorrect_question_ids].map(&:to_i))
Schienenkonzept
・ Nach Meinung von DHH ist es besser, einen anderen Controller für Aktionen zu verwenden, die standardmäßig nicht vorhanden sind, und ich denke auch. ・ Was ist REST? ・ Eine der objektorientierten Ideen ist, dass das Objekt einen eigenen Zustand hat. ・ Es ist gefährlich, eine Sitzung zu verwenden. Warum also nicht den Zustand der Person am Tisch vorbereiten? ・ Vermeiden Sie den Namen Test ◯◯, da er möglicherweise mit einer rspec-Datei verwechselt wird. -Im Rückrufsystem (before_save usw.) wird die Methode unbeabsichtigt ausgeführt, daher ist es nicht sehr vorzuziehen, die Logik dort zu schreiben.
#Schlechtes Schreiben
def index
@questions = Question.all
end
#Warum nicht?
#Ich denke, dass es kein Problem mit der aktuellen Nummer gibt, aber wenn Sie alle im eigentlichen Dienst verwenden, sollten Sie vorsichtig sein, da der Speicher möglicherweise nicht ausreicht und er möglicherweise abfällt.
Grundsätzlich wird die dynamische Änderung von Daten (z. B. das, was der Benutzer hinzufügt) ausgewählt/Ich denke, es ist besser, es sich zur Gewohnheit zu machen, die erforderlichen Säulen durch Zupfen usw. zu begrenzen.
#Schlechtes Schreiben
<%= form_for(@question_similar, url: { controller: 'question_similar', action: 'create' }) do |f| %>
#Gründe nicht gut
url: {〜〜〜}Ist xxx_Es scheint, dass Sie mit Pfad schreiben können
#Schlechtes Schreiben
def cancel_save
question_similars.each do |question_similar|
if question_similar.similar_word == ""
question_similar.delete
end
end
end
#.Verwenden Sie leer
#Transaktion in Ordnung?
#delete_Ich denke, alles hat eine bessere Leistung
params[:front_article_search_form][:heart_period]
Diese Art von Hash wird als zweidimensionaler Hash bezeichnet. Wenn params [: front_article_search_form] an erster Stelle Null ist Ein Fehler wie die undefinierte Methode "[]" für nil: NilClass (NoMethodError) tritt häufig auf. Sie müssen also vorsichtig sein, wie Sie es schreiben.
Wenn ich es wäre
article_search_form = params[:front_article_search_form]
if article_search_form.present?
@heart_period = article_search_form[:heart_period]
end
Recommended Posts