Я создаю приложение для событий, где каждое событие может иметь несколько списков дел, каждый со своими задачами.
Я борюсь с вложенностью задач третьего уровня (todo_items)
Вот мои модели:
Event.rb
has_many :todo_lists, :dependent => :destroy
has_many :todo_items, :through => :todo_lists
accepts_nested_attributes_for :todo_lists
accepts_nested_attributes_for :todo_items
Todo_list.rb
has_many :todo_items, :dependent => :destroy
accepts_nested_attributes_for :todo_items
belongs_to :event
Todo_item.rb
belongs_to :todo_list
Todo_list_Controller.rb
def set_todo_list
@todo_list = @event.todo_lists.find(params[:id])
end
def set_event
@event = Event.find(params[:event_id])
end
def todo_list_params
params.require(:todo_list).permit(:title, :description, :event_id)
end
Todo_items_Controller.rb
def set_todo_list
@todo_list = TodoList.find(params[:todo_list_id])
end
def set_todo_item
@todo_item = @todo_list.todo_items.find(params[:id])
end
def todo_item_params
params[:todo_item].permit(:content, :todo_list_id)
end
rout.rb
resources :events do
resources :todo_lists do
resources :todo_items do
member do
patch :complete
end
end
end
end
Если потребуется какой-либо другой код, я обновлю! Заранее спасибо!
Я приложил все усилия, чтобы вложить объекты. Я могу добавить задачи (todo_items) в список todo_list, но не могу удалить или выполнить их.
Ошибка происходит от todo_LIST_controller, а не todo_ITEMS_controller
Журнал ошибок:
ActiveRecord::RecordNotFound (Couldn't find TodoList with 'id'=5 [WHERE "todo_lists"."event_id" = ?]):