我目前刚接触Rails,我正在制作一个允许用户创建项目的Rails站点,在项目内部,用户可以制作列表,提交文件等。我正在使用设计用于我的用户身份验证服务,我一直在寻找最有效的方法来构建这个应用程序。
我想要用户&注册时要生成的项目。内容将显示给其特定项目。我还希望能够为项目添加其他用户。
我正在查看设计中的current_user
,但我不确定如何实现此结构。
答案 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 :through
或has_and_belongs_to_many
关联。前者使用另外的模型来连接两者,并允许您在关联中存储信息,而后者不需要额外的模型,但您需要创建连接表。
希望有所帮助。