J'ai créé un contrôleur pour créer ou référencer l'article ci-dessous, mais @articles a obtenu une erreur dans Nil lors de l'ouverture des détails de l'article (j'utilisais @articles en HTML et j'ai eu une erreur là-bas T) C'était complètement inattendu pour moi
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
//réduction
end
def create
//réduction
end
def show
end
Simple, mais résolu en regardant la référence
Les actions CRUD standard pour chaque contrôleur sont souvent organisées dans l'ordre index, show, new, edit, create, update, destroy. Il n'est pas nécessaire que ce soit dans cet ordre, mais gardez à l'esprit que ce sont toutes des méthodes publiques. Comme déjà mentionné dans ce guide, les méthodes publiques du contrôleur doivent être placées avant private.
Il a été répertorié au maximum ... L'erreur a été résolue en réécrivant la méthode privée après la méthode publique. Si vous définissez privé, il semble que ce sera une méthode privée après cela, sauf si vous spécifiez public, etc.
Eh bien, c'est dommage que je n'ai pas bien regardé la référence, mais je me suis aussi demandé si c'était parce que je procédais avec le même sentiment que Java.
test.java
public void index() {
//réduction
}
private void set_article() {
//réduction
}
public void show() {
//réduction
}
En Java, l'implémentation ci-dessus ne génère pas d'erreur et set_article () et les versions ultérieures ne sont pas des méthodes privées. C'est vrai parce que chaque méthode définit un modificateur.
J'ai appris deux choses de cette époque ① Regardez la référence lors de l'apprentissage d'une nouvelle langue! (Rechercher quand même) ② Lorsque vous apprenez une nouvelle langue, oubliez une fois les stéréotypes conventionnels et essayez de trouver des parties similaires et différentes pendant que vous étudiez.
De plus, essayez et l'erreur est importante
Guide Ruby on Rails https://railsguides.jp/getting_started.html
Recommended Posts