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

Rails show content specific to user group, adding user groups

我目前是 Rails 的新手,我正在制作一个 Rails 网站,允许用户创建项目,在项目中,用户可以制作列表、提交文件等. 我正在为我的用户身份验证服务使用设计,我一直在寻找构建此应用程序的最有效方法。

我希望用户和项目在他们注册时生成。内容将显示到其特定项目。我还希望能够将其他用户添加到项目中。

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

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

如果我没理解错的话,你希望在创建用户的时候自动创建一个项目。您可以在 User 模型中使用 after_create 回调(其他回调也可以)。我假设您的 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 关联。前者使用额外的模型来连接两者,并允许您在关联中存储信息,后者不需要额外的模型但您需要创建连接 table.

希望对您有所帮助。