Ruby on rails 从rails控制器访问当前用户的设计方法

Ruby on rails 从rails控制器访问当前用户的设计方法,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我正在构建rails应用程序中使用Desive。我想在我的控制器中获取当前登录的用户的ID,使用当前的_user.ID,而不将其作为参数从我的视图中传递。我有什么办法可以做到这一点吗?谢谢如果您已经正确安装了Desive,并且没有通过覆盖Desive控制器而损坏某些东西,那么您应该能够从控制器访问当前用户id。此方法仅在用户已登录且您可以使用user\u signed\u in?方法进行测试时有效。最后,这假设designe使用的资源名确实是user。这是默认设置,但可以将Desive配置为使用

我正在构建rails应用程序中使用Desive。我想在我的控制器中获取当前登录的用户的ID,使用当前的_user.ID,而不将其作为参数从我的视图中传递。我有什么办法可以做到这一点吗?谢谢

如果您已经正确安装了Desive,并且没有通过覆盖Desive控制器而损坏某些东西,那么您应该能够从控制器访问当前用户id。此方法仅在用户已登录且您可以使用
user\u signed\u in?
方法进行测试时有效。最后,这假设designe使用的资源名确实是
user
。这是默认设置,但可以将Desive配置为使用不同的资源名称。

我必须问一下,您是否尝试过使用
current_user.id
?@Sebastián Palma是的,我尝试过并得到了tihs错误:未定义的方法“id”表示nil:NilClass@RT5754:您链接的starter应用程序中的所有控制器中都应该有
current_user
方法。如果我创建了新控制器,我是否必须在其中包含Desive或其他内容才能访问这些方法?如果您按照设计文档中的说明进行操作,您不必做任何事情来使当前用户可用。谢谢您的回答。这篇文章的答案对我来说很有意义。您的问题表明您希望访问控制器中的当前用户,而不是模型中的用户。我不确定您的特定用例是什么,但我通常建议您不要尝试访问您模型中的
当前用户
。通常最好将该逻辑保存在控制器或助手中。关于上面链接的问题,我会把这个逻辑放在一个助手中。