【发布时间】:2019-02-19 01:33:17
【问题描述】:
我收到此错误:
nil:NilClass 的未定义方法 `posts'
我有一个模型 Post,这是我的 PostsController
def new
@post = current_user.posts.build
end
def create
@user = current_user
@post = @user.posts.build(post_params)
end
【问题讨论】:
-
你能展示你的模型 user.rb 和 post.rb
-
current_user为 nil,您确定您使用的方法正确且用户已登录? -
你把
before_action :authenticate_user!放在控制器里了吗? (假设您使用的是设计) -
和ps。您可以直接使用 current_user ,无需将其存储在实例变量中......所以只需这样做:
@post = current_user.posts.build(post_params)
标签: ruby-on-rails controller associations