我在1个用户和许多挑战之间存在一对多的关系。我正在使用带有Devise的rails 4
我想列出当前用户的挑战。
到目前为止我已经
了@challenge = User.find(current_user.id).challenges
我也试过
@challenge = User.find(current_user).challenges
我也试过@challenge = current_user.challenges
但它不起作用。我得到错误"undefined method
每个'为nil:NilClass“`这通常意味着@challenge没有传递给视图我是否犯了某种语法错误?
如果我在rails控制台中执行User.find(1).challenges
它可以正常工作,所以我可能没有正确使用current_user.id
答案 0 :(得分:1)
看起来当您尝试访问该页面时,用户未登录,因此current_user
设置为nil
。
current_user.challenges
将完成获取与此用户关联的所有challenges
的工作。您可以在调用此代码之前使用user_signed_in?
中的devise
方法,以确保current_user
始终可用。