【问题标题】:User dashboard for Blogging application博客应用程序的用户仪表板
【发布时间】:2015-01-27 08:35:59
【问题描述】:

我正在构建一个博客应用程序。

每个用户可以创建多个博客,并且在每个博客上他们可以有多个帖子,每个帖子都有混合内容,即:视频内容、文本内容、照片内容。

用户拥有_many 个博客。 该博客有_许多帖子。

帖子属于博客。

所有帖子内容(即视频、文本和照片)都通过 STI 连接到帖子。

我遇到的麻烦是弄清楚如何将用户连接到他们自己的个人仪表板。

在此仪表板上,他们应该能够创建新博客、编辑现有博客、查看和搜索其他用户的博客等...

我正在使用 Devise 创建和更新用户,在这种情况下,为他们创建仪表板的最佳方法是什么?我被难住了!!

【问题讨论】:

  • 您只需要创建适当的模型、视图和控制器(您需要的)来操作和显示您想要的所有数据。
  • 我不清楚问题是什么。您大概有用户在会话中。有一个仪表板页面来检索用户的特定信息。确切的问题是什么?
  • 干杯@DaveNewton,好问题 - 我还没有仪表板页面或其相关控制器,上面发布了我希望它如何工作的假设。我现在正在构建它。我只是想确保以最有效的方式设置后端,这样我以后就不必重新做。所以我想问题是,现在你知道我的应用程序是如何从我的 OP 中的示例中工作的,那么创建这个仪表板并让它与 Devise 一起工作的最佳方法是什么。

标签: ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

我想有几种方法可以做到这一点。我会通过以下方式做到这一点。

  • 创建仪表板控制器和相关视图。如果需要,我会创建一个仪表板模型(在这种情况下可能适合使用非 ActiveRecord 模型)。
  • 添加经过身份验证的路由以更改用户的根路径。例如,config/routes.rb 中的以下条目将确保登录用户的根路径将是相应用户的仪表板。阅读更多关于经过身份验证的路由here

    authenticated :user do
      root to: "user_dashboard#index", as: :user_dashboard
    end
    
  • 例如,仪表板页面可以列出最近的博客、提供对用户博客执行 CRUD 操作的链接等。

【讨论】:

  • 我喜欢这个主意。然后该路线将类似于 user_dashboard/user?为此创建模型有什么意义吗?如果是这样,请提供一个示例,说明用户和仪表板之间的关联是什么样的。谢谢!
  • 用户和仪表板之间不会有任何关联。它本质上只是一个带有一堆视图的控制器。在这个时间点上,我真的想不出任何特定的用例,其中仪表板模型是有意义的。一般来说,仪表板是一种向用户展示系统最重要组件概览的方式。它本质上是用户的个性化主页,他/她可以在其中查看所有博客、更新和其他相关内容。
  • 就路线而言,这实际上取决于您希望如何设计体验。对于我的一个应用程序,我添加了一个经过身份验证的根路径,这意味着经过身份验证的用户的根路径现在是他们自己的仪表板页面,而不是网站的通用主页。另一种选择是向用户仪表板添加路由,并让用户在登录后重定向到仪表板。有关此的更多信息,check this out
猜你喜欢
  • 2010-12-29
  • 1970-01-01
  • 2019-07-18
  • 2017-08-01
  • 2011-03-18
  • 2015-08-01
  • 1970-01-01
  • 2016-10-08
  • 2013-12-13
相关资源
最近更新 更多