Ruby on rails Rails:是否确认同时保存了两个对象?

Ruby on rails Rails:是否确认同时保存了两个对象?,ruby-on-rails,relationships,Ruby On Rails,Relationships,在我的站点上创建用户时,我希望执行user.new实例,但我还需要创建Alias.new对象。用户有许多别名。但是,在保存之前,我还需要验证是否没有具有该名称的其他别名 从控制台中,我的代码可能如下所示: u = User.new(:name => "Bob") a = Alias.new(:name => "SirBob", :user_id => u) 但这不起作用,因为在我保存之前你没有id。那么,如何在保存这两个项目之前验证其名称的唯一性呢?使用 ActiveReco

在我的站点上创建用户时,我希望执行user.new实例,但我还需要创建Alias.new对象。用户有许多别名。但是,在保存之前,我还需要验证是否没有具有该名称的其他别名

从控制台中,我的代码可能如下所示:

u = User.new(:name => "Bob")
a = Alias.new(:name => "SirBob", :user_id => u)
但这不起作用,因为在我保存之前你没有id。那么,如何在保存这两个项目之前验证其名称的唯一性呢?

使用

ActiveRecord::Base.transaction do
  u = User.new(:name => "Bob")
  a = Alias.new(:name => "SirBob", :user_id => u)
end
并添加
验证别名模型上:name
的唯一性

这将解决您的问题。

使用

ActiveRecord::Base.transaction do
  u = User.new(:name => "Bob")
  a = Alias.new(:name => "SirBob", :user_id => u)
end
并添加
验证别名模型上:name
的唯一性

这将解决您的问题。

试试这个:

u = User.new  
u.aliases.build
希望这有帮助…

试试这个:

u = User.new  
u.aliases.build

希望这有帮助……

我不知道这有什么问题。我会遇到这样疯狂的错误:
需要/var/www/ror/email/app/models/alias.rb来定义别名
我不知道这有什么问题。我会遇到这样疯狂的错误:
Expected/var/www/ror/email/app/models/alias.rb来定义别名
,这允许我一次创建所有别名。但我不知道如何验证别名要求。。。我能够创建应该失败的别名。这是可行的,但我必须编辑我的用户模型以包含以下内容:
接受\u嵌套的\u属性\u for:alias验证\u关联的:alias
这允许我一次创建它们。但我不知道如何验证别名要求。。。我能够创建应该失败的别名。这是可行的,但我必须编辑我的用户模型以包含以下内容:
接受\u嵌套的\u属性\u用于:别名验证\u关联的:别名