【问题标题】:Creating and Managing Users and Profile Models in Rails在 Rails 中创建和管理用户和配置文件模型
【发布时间】:2012-12-13 12:48:05
【问题描述】:

我知道关于这个主题有多个主题,阅读它们后,我仍然无法找出适合我情况的最佳方法。我有一个用户模型,我正在使用设计进行身份验证。我正在使用相当多的设计模块,它们为我的用户模型添加了大约 20 列。我想做的是添加一个单独的配置文件模型,它将有大约 18 列。

问题是在注册后,Devise Confirmable 模块会将他重定向到主页并向他的电子邮件发送确认链接。一旦他确认他会被带到用户显示页面,该页面应该显示他的个人资料信息。

我想确保用户在能够在网站上执行任何操作之前填写他的个人资料信息。从授权的角度来看,所有 Profile 字段(其中大约 18 个)都是强制性和关键的,并规定了他可以做什么和不能做什么。我不知道该怎么做?

1) 我应该只有一个用户模型(这意味着用户表中有 40 列)并创建一个多步骤表单吗? 2)我应该有一个用户模型和一个配置文件模型吗? 3)如果是这样,我怎样才能让用户在他确认他的帐户之前或之后填写他的个人资料信息? 4) 我还需要配置文件控制器吗?我不知道从哪里开始!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 model-view-controller model controller


    【解决方案1】:

    其实很简单。您可以为用户和个人资料设置不同的模型。如果用户填写了他的个人资料信息(例如user.profile.nil?),您需要有一些标记机制。现在你只需要创建一个 before 过滤器方法,如果他没有,它将重定向用户创建个人资料页面。

    【讨论】:

    • 好的,我已经设置好了,以便用户在注册和登录时被重定向到创建个人资料页面。如何确保用户在保存个人资料之前不能在网站上执行任何操作?
    • 在过滤器之前应该这样做。因此,无论何时调用任何控制器方法,都将首先执行 before 过滤器,然后根据状态用户将被重定向或允许执行该操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    相关资源
    最近更新 更多