【问题标题】:Laying out the users in a rails 3 application correctly在 Rails 3 应用程序中正确布局用户
【发布时间】:2012-04-30 20:35:18
【问题描述】:

好的,所以我有一个全新的 rails 3.2.3 应用程序,我需要具有许多其他属性(如流派和生日等)的用户。我正在寻求构建数据库的最佳方法。我在考虑用户和个人资料

class Profile < ActiveRecord::Base
  belongs_to :contact

class User < ActiveRecord::Base
  has_one :profile

并将名字和姓氏以及密码信息放在用户表中,将其他数据放在配置文件表中。我使用设计作为用户身份验证。但是我有一个注册表单,其中包含所需的所有信息,所以有没有一种简单的方法可以避免表单中两个表的嵌套。有没有一种简单的方法可以做到这一点……这看起来很基本,但让我有点困惑

【问题讨论】:

  • 有两张桌子的理由吗?这意味着您只需管理两个模块而不是一个。
  • 你是说一切都应该在 users 表中...是标准
  • 我看到的方式是我需要能够回答“为什么要创建新表?”在继续做决定之前。

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


【解决方案1】:

就我个人而言,我喜欢在同一个表中拥有指向同一个实体的数据,

用户 => 姓名、地址、密码,... #use role_id 用于不同的角色,即管理员、测试人员、查看者?取决于你需要什么以及它有多复杂。

你想使用belongs_to =&gt; :user #module\table name

您的表单需要更新以获取个人资料数据,例如user.profile.password ...(这是我从您的问题中理解的简单方法)

当你想编辑时,你可以使用edit_user_profile_path(current_user, @profile) 之类的东西,注意路径 user_profile,这是它知道从哪里抓取它的地方。

喜欢这个答案https://stackoverflow.com/a/4753856/643500


附带说明,如果您不精通 Rails,请考虑从头开始编写您的第一个身份验证系统。通过这种方式,您将了解一切的去向,并能够知道如何定制它,或者像设计这样的东西。教程在这里http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

【讨论】:

    猜你喜欢
    • 2013-03-15
    • 2013-03-16
    • 2012-12-30
    • 2013-09-02
    • 1970-01-01
    • 2017-05-23
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多