2009-04-16 32 views
0

在我的Rails应用程序中,我有一个用户模型(或多或少由RESTful认证构建)以及属于该用户的其他几个模型。 所以我们可以说,例如:以不同的状态访问用户对象(Ruby on Rails,RESTful认证)

用户的has_many:帖子

后belongs_to的:用户

在任何地方的用户资源,我可以访问用户变量如我期望的那样。 @ user.name,@ user.email,@ user.login等全部返回预期的对象。

但是,我似乎无法从任何其他资源(在这个例子中,职位)访问任何这些属性没有它返回零(零,而不是一个NoMethodError)。

这是为什么?对我而言,我似乎更加奇怪,我可以拨打current_user就好,如current_user.name,current_user.email,但不是针对有问题的用户。

回答

1

有两个用户可以在这里谈论。
1)当前登录的用户
2)谁是专属于

当前登录的用户应该能够通过CURRENT_USER访问的用户。 谁是专属于用户将需要在帖子控制器中设置:

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

@user = @post.user 
+0

感谢您的答复。假设我试图从Posts/show访问帖子所属的用户名。用户资源中的名称将是@ user.name。并且目前在Posts控制器中显示:@post = Post.find(params [:id],@user)。 – btw 2009-04-16 01:24:33