【问题标题】:RoR: Devise and ProfilesRoR:设计和配置文件
【发布时间】:2011-06-13 17:45:17
【问题描述】:
我是一个完整的 Rails 菜鸟,我正在开发我的第一个 Rails 应用程序。
我希望每个用户都有一个个人资料,与 users 表分开,但通过 id 链接。我以前在 PHP 中做的很好,但是 rails 语法是新的。 :/
当每个用户通过 devise 注册时,如何为他们创建个人资料?以及如何链接他们的users/edit 页面来编辑他们的个人资料?
【问题讨论】:
标签:
ruby-on-rails
devise
profiles
【解决方案1】:
你应该阅读这篇关于Relationship的教程
在 Rails 中声明关联真的很容易。
在您的app/models/user.rb 中,您可以执行以下操作:
has_one :user_profile
您的用户个人资料是一个不同的对象,有自己的表格。只需确保其中包含外键 user_id,一切顺利(此外,您应该在用户的配置文件模型中指定 belongs_to :user)。
现在,使用 Devise,如果您想确保在用户注册后创建配置文件,您可以执行类似的操作(仍在您的用户模型中):
after_create :create_child
# Creating child Elements
def create_child
UserProfile.create("user_id" => id)
end
然后,如果您想将特定 URL“链接”到控制器,请参阅routing tutorial
希望对你有帮助。