Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Activerecord 正在尝试一种特殊的活动记录模型,该模型用作唯一的蠕虫注册表_Activerecord_Ruby On Rails 3_Model - Fatal编程技术网

Activerecord 正在尝试一种特殊的活动记录模型,该模型用作唯一的蠕虫注册表

Activerecord 正在尝试一种特殊的活动记录模型,该模型用作唯一的蠕虫注册表,activerecord,ruby-on-rails-3,model,Activerecord,Ruby On Rails 3,Model,我正在尝试创建一个非常特殊的模型 我只是叫它电子邮件。包含如下字段: 住址 发送\u计数 封锁 它是电子邮件地址的注册。其他模型中包含电子邮件地址的每条记录都应该引用此模型中的记录。这样,我可以在我的应用程序中全局阻止/禁止电子邮件地址,并以其他方式对其进行标记 如果不是普遍不赞成,我会说地址应该像主键一样工作。我只能设置为创建,然后再也不会更新,它必须是唯一的 我用普通主键实现这一点的问题是如何处理通过嵌套属性作为关联模型更新/创建电子邮件的情况。这是最常见的情况,因为电子邮件地址对于应用程序

我正在尝试创建一个非常特殊的模型

我只是叫它电子邮件。包含如下字段: 住址 发送\u计数 封锁

它是电子邮件地址的注册。其他模型中包含电子邮件地址的每条记录都应该引用此模型中的记录。这样,我可以在我的应用程序中全局阻止/禁止电子邮件地址,并以其他方式对其进行标记

如果不是普遍不赞成,我会说地址应该像主键一样工作。我只能设置为创建,然后再也不会更新,它必须是唯一的

我用普通主键实现这一点的问题是如何处理通过嵌套属性作为关联模型更新/创建电子邮件的情况。这是最常见的情况,因为电子邮件地址对于应用程序的用户来说与任何其他字段一样

他们可能正在编辑他们的帐户表单,并且碰巧更改了他们的电子邮件地址。手机应该注意到这一点,并找到或创建一个自身的实例,而不是更新地址。另一方面,应该允许更新阻止的属性

我是否明白了要点?有谁能给我一些建议,如何让模型像这样工作

我尝试过使用验证和回调的一些变体,但我似乎可以用另一个现有记录替换self。仅将所有属性(包括id)设置为现有记录的属性并不能真正使事情完全正常工作

任何想法都会有帮助