【问题标题】:Allow a user to create another user which belongs to him/her?允许一个用户创建另一个属于他/她的用户?
【发布时间】:2015-11-28 13:33:46
【问题描述】:

我有一个使用设计的研究所模型。我想让一个研究所创建另一个设计模型,用户。我希望创建的用户属于创建它的机构,方法是向用户模型添加机构 ID。

但是,为此我认为我必须只为 User 模型覆盖默认注册控制器。如果我这样做,那也会为 Institutes 模型覆盖它(对此不确定),这是我不想要的。

明确地说,我不想只在一个用户模型中使用角色。 我希望研究所模型是分开的。我的用户模型将具有不同的角色(教师和学生),学院可以在创建时设置。

我该怎么做?

【问题讨论】:

  • 您是以研究所还是用户身份登录?
  • @bosskovic 您以研究所登录。研究所添加用户,然后用户也可以登录。

标签: ruby-on-rails ruby-on-rails-4 devise rubygems


【解决方案1】:

这样的事情怎么样:

class User < ActiveRecord::Base
  belongs_to :institute
end

class Institute < ActiveRecord::Base
  has_many :users
end

在您的用户创建表单中,添加一个隐藏字段institute_id,该字段对应于当前登录的机构。

如果您还希望允许用户注册,则添加一个选择,其键是机构 ID,值是机构名称。

您还可以通过有条件地渲染隐藏字段或选择来重用相同的表单部分。

【讨论】:

  • 其实用户不能添加其他用户。添加用户的能力只属于研究所。我得到了我卡住的模型关系,我如何在研究所创建时更新用户的研究所 ID?
  • 好的,知道了,你有 2 个设计模型。可以有不属于任何机构的用户吗?一个用户也可以属于多个机构吗?
  • 没有。每个用户都必须属于一个机构。
  • 请看一下编辑后的答案,告诉我这是否适合你
  • 非常感谢。隐藏领域的想法根本没有打动我(Y)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 2012-07-26
  • 2013-11-22
相关资源
最近更新 更多