Im Entwicklungsprozess einer Todolist App, die die App nur die Todo Liste eines Benutzers basierend auf ihrer user_id zeigt. Das heißt, wenn sich ein Benutzer anmeldet, zeigt die Datenbank nur die Todo-Liste mit der gleichen user_id an.undefined Methode `todo_lists 'für nil: NilClass
aber im immer diese Fehlermeldung:
undefined method `todo_lists' for nil:NilClass
# GET /todo_lists/new
def new
@todo_list = current_user.todo_lists.build
end
# GET /todo_lists/1/edit
todo_lists_controller.rb
class TodoListsController < ApplicationController
before_action :set_todo_list, only: [:show, :edit, :update, :destroy]
def index
@todo_lists = TodoList.all
end
def new
@todo_list = current_user.todo_lists.build
end
def create
@todo_list = current_user.todo_lists.build(todo_list_params)
respond_to do |format|
if @todo_list.save
format.html { redirect_to @todo_list, notice: 'Todo list was
successfully created.' }
format.json { render :show, status: :created, location: @todo_list }
else
format.html { render :new }
format.json { render json: @todo_list.errors, status: :unprocessable_entity }
end
end
end
private
def set_todo_list
@todo_list = TodoList.find(params[:id])
end
def todo_list_params
params.require(:todo_list).permit(:title, :description)
end
end
bekam andere Verfahren wie zerstören, zu aktualisieren, zu zeigen und zu bearbeiten, aber ich dont fügen Sie hier Weil ich denke, es hat nichts mit diesem Problem zu tun haben. Ich habe versucht, die todo_lists
zu anderen, wie @todo_lists
, TodoLists
und todo_list
zu ändern, aber keiner von ihnen funktioniert.
Ich suche nach der Lösung in verschiedenen Seiten, aber ich finde keine. Ich denke wirklich, dass das Hauptproblem hier ist, dass ich nicht verstehe, welcher Code zu schreiben ist, weil ich unterschiedlichen Code mit der gleichen Bedeutung wie ich oben genannt habe (@todo_lists
und andere). Kinda dumm, aber ja, noch tryin' hier
P/S 2 Monate Lernschienen ^^ sry für mein gebrochenes Englisch
Können Sie fügen Sie ihn, was ist die Methode Definition von 'current_user'? Im Grunde müssen Sie 'current_user' debuggen – AnkitG
@AnkitG Sie meinen' def current_user'? in der Steuerung? – Nami
Ja, jedoch haben Sie 'current_user' definiert. Ihr 'current_user' ist' nil'. – AnkitG