我开发了一个类似的博客应用程序,我试图让其他用户利用(免费,主要是家庭)。我想知道我设置的身份验证是否允许这样的事情。这是场景。
目前,该应用程序允许用户注册帐户,当他们这样做时,他们可以创建博客帖子并通过标签组织这些帖子。应用程序不公开显示数据(换句话说,您必须登录才能看到任何内容)。要获得访问权限,您必须创建一个帐户,即使在您执行此操作后,也无法看到其他人的信息,因为应用程序使用current_user方法过滤并显示在/posts/index.html.erb页面中。如果用户只想博客并与自己分享,而不是我真正想要的东西,那就太棒了。
我的问题有两个部分(希望我不会因为没有将这些问题分成两个问题而让任何人生气)
基本上,就像推特一样。我只是好奇,如果我可以从我的位置(使用跨控制器的current_user方法显示在/posts/index.html.erb中)到达我想要的位置。我担心的是我必须重新设计应用程序,以便用户数据位于/user/show.html.erb页面。
思想?
更新: 我正在使用Clearance for authentication by Thoughtbot。我想知道我是否可以在vendored gem路径中设置一些东西来表示/posts/index.html.erb代码作为/ user / id代码并用用户名替换id。
答案 0 :(得分:1)
对于你的第一个问题,这肯定是可行的。您只需设置一条路线即可完成此操作。以下是您可以向我们提供的一个示例:
http://marcada.ms/2010/02/twitter-like-urls-for-user-accounts-in-ruby-on-rails/
对于第二个问题,我对Clearance不熟悉,但这是一种相当普遍的做法。基本上在您的视图中,您检查当前登录的用户是否与帖子作者相同。如果是,则显示链接。