0

好的,请在这里忍受我。

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

我用 Devise 的 gem 创建了一个 ROR 应用程序……它允许您登录、注册和注销。

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

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

  def after_sign_in_path_for(resource)
    posts_path
  end

问题是……这个页面对所有登录的人都是公开的。

如何将用户重定向到他们自己的页面?并且看不到每个人的其他“笔记”。

我环顾四周......并且Devise在sessions_controllers上有一个链接......

我用那个吗?我不完全理解它的目的。

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

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

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

本质上,我真正要问的是我如何让用户被引导到他们自己的页面而不看到其他人的页面。

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

4

2 回答 2

1

首先,让我们假设您的 User 模型has_many :posts。在 PostsController 索引操作(默认的RESTful 路由是 posts_path)中,您可以输入如下内容:

@posts = current_user.posts

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

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

这有意义吗?

于 2013-01-30T20:24:46.617 回答
0

尝试:

def after_sign_in_path_for(user) # note: user or w/e your model is named
  users_path(current_user)
end
于 2013-01-30T20:16:40.450 回答