Ruby on rails - 如何将用户重定向到他们自己的页面(ROR 和 Devise Gem)



好的,请耐心等待。

我问了一个我不完全熟悉所有技术细节等问题的问题(换句话说,请放轻松,因为我没有完全达到标准)。

我已经使用 Devise 的宝石创建了一个 ROR 应用程序......它允许您登录、注册和注销。

非常简单,它只有一个页面,您可以在其中填写您的姓名,最喜欢的爱好和书籍。(嘿,这只是一个例子)

我还使用他们的重定向代码访问此页面:

  def after_sign_in_path_for(resource)
    posts_path
  end

问题是...此页面对登录的所有人公开。

如何将用户重定向到他们自己的页面?而不是看到其他人的"笔记"。

我环顾四周...德维斯有一个关于sessions_controllers的链接...

我用它吗?我不完全明白它的目的。

如果是,如何?仍然试图弄清楚所有的拼图是如何组合在一起的,当你对主题本身没有充分的理解时,很难做到这一点。

还是有另一种更简单的方法?

如果这个问题太宽泛,请告诉我...但我不太确定如何分解它。

从本质上讲,我真正要问的是,如何将用户定向到他们自己的页面,而看不到其他人的页面。

提前感谢任何帮助/建议/指示/等。

首先,假设您的用户模型has_many :posts 。在你的 PostsController 索引操作中(默认的 RESTful 路由是 posts_path),你可以放这样的东西:

@posts = current_user.posts

访问索引视图时,您只会看到当前用户的帖子。

话虽如此,您不仅限于索引视图。您可以自定义所需的任何视图,并使用声明的实例变量执行相应的控制器操作,您可以在视图中操作这些变量。

这有意义吗?

尝试:

def after_sign_in_path_for(user) # note: user or w/e your model is named
  users_path(current_user)
end

相关内容

  • 没有找到相关文章

最新更新