Rails显示特定于用户组的内容,添加用户组

时间:2015-12-12 20:15:26

标签: ruby-on-rails ruby ruby-on-rails-3 devise

我目前刚接触Rails,我正在制作一个允许用户创建项目的Rails站点,在项目内部,用户可以制作列表,提交文件等。我正在使用设计用于我的用户身份验证服务,我一直在寻找最有效的方法来构建这个应用程序。

我想要用户&注册时要生成的项目。内容将显示给其特定项目。我还希望能够为项目添加其他用户。

我正在查看设计中的current_user,但我不确定如何实现此结构。

1 个答案:

答案 0 :(得分:0)

Devise将使用自己的控制器处理用户创建,更新等,因此您只需使用正确的路由(键入rake routes即可获得列表)。

如果我理解正确,您希望在创建用户时自动创建项目。您可以在after_create模型中使用User回调(其他回调也可以)。我假设您的User模型与项目有has_many关联:

class User < ActiveRecord::Base
  devise :database_authenticable, :registerable # ...etc...

  has_many :projects

  after_create do |user|
    user.projects.create(...)
  end
end

如果您希望项目包含许多用户,并且用户拥有许多项目,则您需要在模型之间建立has_many :throughhas_and_belongs_to_many关联。前者使用另外的模型来连接两者,并允许您在关联中存储信息,而后者不需要额外的模型,但您需要创建连接表。

希望有所帮助。