Ich habe einen Controller erstellt, um den folgenden Artikel zu erstellen oder zu referenzieren, aber @articles hat beim Öffnen der Artikeldetails einen Fehler in Nil erhalten (ich habe @articles in HTML verwendet und dort einen Fehler erhalten T) Es war völlig unerwartet für mich
articles_controller.rb
def index
@articles = Article.paginate(page: params[:page], per_page: 5)
end
private
def article_params
params.require(:article).permit(:title, :description)
end
def new
//Kürzung
end
def create
//Kürzung
end
def show
end
Einfach, aber durch Betrachten der Referenz gelöst
Die Standard-CRUD-Aktionen für jeden Controller sind häufig im Auftragsindex angeordnet, anzeigen, neu, bearbeiten, erstellen, aktualisieren, zerstören. Es muss nicht in dieser Reihenfolge sein, aber denken Sie daran, dass es sich bei allen um öffentliche Methoden handelt. Wie bereits in diesem Handbuch erwähnt, müssen die öffentlichen Methoden des Controllers vor privat gestellt werden.
Es wurde in vollem Umfang aufgeführt ... Der Fehler wurde behoben, indem die private Methode nach der öffentlichen Methode neu geschrieben wurde. Wenn Sie privat definieren, scheint es sich danach um eine private Methode zu handeln, es sei denn, Sie geben public usw. an.
Nun, es ist schlimm, dass ich die Referenz nicht richtig angesehen habe, aber ich habe mich auch gefragt, ob es daran lag, dass ich mit dem gleichen Gefühl wie Java vorging.
test.java
public void index() {
//Kürzung
}
private void set_article() {
//Kürzung
}
public void show() {
//Kürzung
}
In Java generiert die obige Implementierung keinen Fehler, und set_article () und höher sind keine privaten Methoden. Das ist richtig, weil jede Methode einen Modifikator definiert.
Aus dieser Zeit habe ich zwei Dinge gelernt ① Sehen Sie sich die Referenz an, wenn Sie eine neue Sprache lernen! (Suche trotzdem) ② Vergessen Sie beim Erlernen einer neuen Sprache einmal die herkömmlichen Stereotypen und versuchen Sie, beim Lernen ähnliche und unterschiedliche Teile zu finden.
Auch Try & Error ist wichtig
Ruby on Rails-Leitfaden https://railsguides.jp/getting_started.html
Recommended Posts