#ruby-on-rails-4 #devise
#ruby-on-rails-4 #разработка
Вопрос:
Я создаю простой инструмент управления проектами со списками дел и загрузкой изображений. В настоящее время возникла проблема, из-за которой я не могу понять, как отображать только списки дел и изображения текущего зарегистрированного пользователя. Я попробовал следующее в моем контроллере панели мониторинга:
class DashboardsController < ApplicationController
def index
@user = User.find(current_user.id)
@todo_lists = @user.TodoList.all
#@todo_lists = TodoList.find(:all, :conditions => { :user_id => current_user[:id] } )
#@todo_list = current_user.TodoList.find(params[:id])
#@todo_lists = TodoList.find_all_by_user_id current_user[:id]
#@todo_lists = TodoList.all
@paperclip_image = PaperclipImage.last
end
end
Я продолжаю получать ошибки no method: NoMethodError в DashboardsController#index
неопределенный метод `ToDoList’ для #. Как бы вы отображали только элементы, специфичные для вошедшего в систему пользователя? У меня есть идентификаторы пользователей, успешно присвоенные каждому списку дел и загрузке изображений в моей базе данных разработчиков.
установленные версии gem:
gem 'rails', '4.1.0'
gem 'sqlite3'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
gem 'paperclip', '~> 4.1'
gem 'devise'
ТИА!
Ответ №1:
При правильно настроенной ассоциации:has_many от пользователя к todo_lists это должно быть просто
current_user.todo_lists
Имеет много ассоциаций
class User < Active::Record
has_many :todo_lists
end
class TodoList < Active::Record
belongs_to :user
end
Комментарии:
1. Большое вам спасибо! У меня не было ассоциаций в моей пользовательской модели.