Rails / Devise:一次创建用户和父组织

时间:2011-10-10 17:49:06

标签: ruby-on-rails devise

使用Devise。

型号:

User belongs_to Organization
Organization has_many Users

在注册期间,我也想创建用户的父组织。所以形式有两部分:1)组织信息,2)基本用户信息(电子邮件/密码)

我已经完成了一堆搜索Devise和嵌套资源,但他们通常会谈论模型关系是另一个方向(User has_many)。

有什么想法吗?

提前致谢!

2 个答案:

答案 0 :(得分:0)

您是否已经了解用户可能属于的组织?

在这种情况下,只需在注册时下拉并在保存时插入组织的ID。

否则,可能会发生的事情是,除非你根据他们输入的名字进行猜测,否则你基本上最终会得到一个1:1的组织。组织是否有与之相关的任何安全性?如果这是一个公共场所,它似乎有点危险,因为人们可以在他们不应该的地方扎营。

那说:

o = Organisation.find_or_create_by_name(params[:org_name])
u = o.user.build(params[:user])
if u.save ... # etc.

或类似的东西。

答案 1 :(得分:0)

u = User.new(params[:user])

if u.valid?
  o = Organisation.create(params[:org_name])
  u.organization = o
  u.save
end