ruby-on-rails - RoR : Devise and Profiles

标签 ruby-on-rails devise profiles

我是一个完整的 Rails 菜鸟,我正在开发我的第一个 Rails 应用程序。

我希望每个用户都有一个个人资料,与 users 分开表,但由 id 链接。我以前在 PHP 中这样做过,但是 rails 语法是新的。 :/

当他们通过设备注册时,如何为每个用户创建个人资料?以及如何链接他们的 users/edit页面来编辑他们的个人资料?

最佳答案

您应该阅读有关 Relationship 的本教程

在 Rails 中声明关联真的很容易。
在您的 app/models/user.rb ,你可以这样做:

has_one :user_profile

您的 用户文件 是一个不同的对象,有自己的表。只要确保你有外键 用户 ID 在其中,您很高兴(此外,您应该在用户的配置文件模型中指定 belongs_to :user)。

现在,使用 Devise,如果您想确保在用户注册后创建配置文件,您可以执行类似的操作(仍在您的用户模型中):
after_create :create_child
# Creating child Elements
def create_child
  UserProfile.create("user_id" => id)
end

然后,如果您想将特定 URL“链接”到 Controller ,请参阅 routing tutorial

希望能帮助到你。

关于ruby-on-rails - RoR : Devise and Profiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6334098/

相关文章:

ruby-on-rails - before_create 没有被调用

ruby-on-rails - 在 Rails 模式中启用 UUID 的最简单的最低权限方法是什么?

https - 更改设计确认链接以使用 https

spring-batch - Spring 批处理中的型材

ios - 使用配置文件禁用声音

ruby-on-rails - 运行 bundle 后安装 pg gem 时出错

mysql - Ruby on Rails 安装 - Ubuntu 15

mysql - 如何在 Ruby on Rails 中验证后加密数据?

ruby-on-rails - Active Admin 登录不起作用(Devise + ActiveAdmin + Devise JWT)

google-chrome - 管理多个 Chrome 配置文件 - OSX