【问题标题】:different Models with devise不同型号的设计
【发布时间】:2016-10-01 13:45:07
【问题描述】:

是否可以使用设计生成不同的模型,并且每个模型都有不同的注册表单?

我需要有两种类型的用户,他们可以登录、注册等,但他们接受不同的参数。

我尝试创建不同的模型,但在我的视图中仍然只给我一个带有唯一注册表单的文件夹。我还尝试将两种类型用户的所有参数都放入此表单,但它返回

  undefined method `philosophy' for #<User:0x007fbab0961ca8>

哲学是我的第二个用户的参数。

我需要它来工作,因为我正在尝试通过活动记录将这 2 个用户相互关联

   user belongs_to :charity

   charity has_many :users

知道如何解决这个问题吗?

【问题讨论】:

  • 这听起来真的像你问错问题了。为什么你的两种类型的用户有不同的参数?你实际上想要完成什么?不要用想要建立用户与用户的关系来解释它——只需用简单的语言解释你的程序要实现的目标。
  • 这是一个电子商务网站,适合那些在回家之前有很多东西要扔掉并且想卖掉的旅行者。尽管由于没有时间(用户根据离开日期给出最后期限)而无法出售的任何东西,都将转到他们选择的慈善组织(订阅该网站的组织)。该组织可以通过他们的个人资料与这些人取得联系,并可能组织他们之间的聊天会话,以便他们可以安排接送日期

标签: ruby-on-rails activerecord devise multiple-users


【解决方案1】:

要生成多个模型(例如,用户和管理员),只需使用:

> rails generate devise User
> rails generate devise Admin

要生成不同的视图集:

config/initializers/devise.rb 文件中设置config.scoped_views = true。 您现在可以拥有基于角色的视图,例如 users/sessions/newadmins/sessions/new。如果在其中找不到视图 在范围内,Devise 将使用位于 devise/sessions/new 的默认视图。 您可以使用生成器生成范围视图:

$ rails generate devise:views users
$ rails generate devise:views admins

来源:devise github readme

【讨论】:

  • 非常感谢..我不知道为什么我没有早点想到它!!!!我没有第二次运行视图的代码...
  • 如果答案对您有帮助,请点赞/接受。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
  • 2023-03-15
  • 2021-07-07
相关资源
最近更新 更多