Rails设计帮助

时间:2011-09-27 04:30:58

标签: ruby-on-rails ruby devise gem

有人能举例说明如何做这样的事情。 根据本教程中的方式,我有一个设计用户设置 https://github.com/fortuity/rails3-subdomain-devise/wiki/Tutorial-%28Walkthrough%29(我跳过与子域相关的东西) 现在说如果我想让一个用户发布很多推文,那么用户和用户就可以上传推文,但任何人都可以看到它们,如何实现。 我发现rails真的很难,所以如果你能彻底解释那会很好(即去route.rb插入获取'用户/ ......)

1 个答案:

答案 0 :(得分:0)

Devise只是一个身份验证宝石。如果你想在推特上发布推文,你将不得不通过设计进入omniauth。这是一个轨道广播:http://railscasts.com/episodes/236-omniauth-part-2

设计有一个关于直接整合的维基:https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

如果您在假设设置时更多地假设有关创建和显示帖子,那么只需对用户可以执行的操作进行过滤

before_filter :authenticate, :only => [:new, :create, :edit, :destroy]

这将在类声明下的Posts控制器中。基本上它说在你加载新的页面之前,创建,编辑或销毁确保用户通过调用authenticate进行身份验证(我相信设计已经内置了authenticate方法,但如果没有,则很容易编写)。然后任何人都可以使用show方法查看推文,但无法为该用户创建推文。