0

在我的 Rails 应用程序中,我有一个用户模型(或多或少由 RESTful 身份验证构建),以及属于该用户的其他几个模型。比如说,例如:

用户 has_many :posts

发布属于_to:用户

在用户资源中的任何地方,我都可以按预期访问用户变量。@user.name、@user.email、@user.login 等都返回预期的对象。

但是,如果不返回 nil(nil 而不是 NoMethodError),我似乎无法从任何其他资源(在此示例中为帖子)访问这些属性中的任何一个。

为什么是这样?对我来说似乎更奇怪的是,我可以current_user正常调用,例如current_user.name, current_user.email,但不适用于相关用户。

4

1 回答 1

1

您可以在这里谈论两个用户。
1) 当前登录的用户
2) 帖子所属的用户

当前登录的用户应该可以通过 current_user 访问。帖子所属的用户需要在 Posts 控制器中设置:

@user = Users.find(@post.user_id)

或者

@user = @post.user
于 2009-04-16T01:18:04.450 回答