【发布时间】:2016-09-22 18:04:55
【问题描述】:
我正在尝试按照教程构建一个应用程序,例如 evernote 或 google docs,用户可以在其中存储文件。我正在尝试将用户与文档相关联,并且我希望当前用户创建一个新文档,并且我希望该文档具有该用户的 ID,并且在尝试创建新文档时出现此错误 DocsController 中的 NoMethodError#new nil:NilClass 的未定义方法“docs”
提取的源代码(第 13 行附近): 11 12 13 14 15 16
def new
@doc = current_user.docs.build
end
def create
Rails.root:/Users/Hisham/Desktop/Rails_projects/cabinet
应用程序跟踪 |框架跟踪 |全跟踪 app/controllers/docs_controller.rb:13:in `new'
【问题讨论】:
-
您能否将其改写为一个问题?目前尚不清楚您在寻求什么帮助。另外,你有教程的链接吗?这将是有用的额外信息。
-
然后呢?
current_user的实现在哪里? -
@doc = current_user.docs.build if current_user.present? -
确保您已登录,否则您将在
current_user中获得nil值 -
current_user是通过 Devise 或其他一些身份验证系统定义的。您的错误意味着当前用户实际上并未登录系统。在开始处理您的其他问题之前,您需要弄清楚为什么他们没有主动登录,一旦您让正确的用户登录,这似乎不会成为问题。
标签: ruby-on-rails ruby