J'essaie de faire un exemple d'un petit site de réseautage, et lorsque je me connecte un utilisateur, il devrait rediriger et afficher son profil, mais j'ai l'erreur suivante:NoMethodError après ouverture de session sur le site Web de mise en réseau Ruby on Rails
NoMethodError in User#indexShowing app/views/user/index.html.erb where line #5 raised:
undefined method `screen_name' for nil:NilClass Extracted source (around line #5):
2: Your basic information 3: 4:
5:
- Screen name: <%= @user.screen_name %>
6:- Email: <%= @user.email %>
7:- Password: **********
8:
Merci beaucoup à l'avance!
Dans mon contrôleur? Je possède ce deux: @user = User.new (params [: user]) et user = User.find_by_screen_name_and_password (@ user.screen_name, @ user.password) – noloman
User.new ne crée pas d'enregistrement . Vous devez utiliser créer ou associer nouveau + enregistrer. Si l'enregistrement n'existe pas, find_by_XXXX retournera zéro. Donc, pas vraiment sûr si vous exécutez vraiment ces deux-dos-à-dos, mais si oui, cela ne fonctionnera pas pour vous. – nirvdrum
Très bien, il a été résolu avec un simple @user = User.find (session [: user_id]). Néanmoins, maintenant que j'appuie sur le bouton de connexion pour connecter un utilisateur, je ne suis jamais redirigé vers le profil de l'utilisateur. Je pense que je vais devoir passer un peu plus de temps avec ça, merci beaucoup! – noloman