Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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
Ruby on rails rails activerecord-不同计数器缓存实现_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails rails activerecord-不同计数器缓存实现

Ruby on rails rails activerecord-不同计数器缓存实现,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有这些桌子: 广播 身份证件 名称 电子邮件 身份证件 广播标识 用户id 主题 email\u打开 身份证件 电子邮件地址 用户id 我想在我的broadcast表中保留电子邮件打开记录的计数 在我的email\u open表中设置broadcast\u id是最有效的方法吗?如果是。。然后我知道我可以在我的email\u open模式中这样做: 属于:广播、计数器缓存:=>true 然后,我将电子邮件\u open\u count添加到我的广播表中。。。但我想知道是否有一种方法可以不

我有这些桌子:

广播
身份证件
名称

电子邮件
身份证件
广播标识
用户id
主题

email\u打开
身份证件
电子邮件地址
用户id

我想在我的
broadcast
表中保留电子邮件打开记录的计数

在我的
email\u open
表中设置
broadcast\u id
是最有效的方法吗?如果是。。然后我知道我可以在我的
email\u open
模式中这样做:

属于:广播、计数器缓存:=>true

然后,我将
电子邮件\u open\u count
添加到我的广播表中。。。但我想知道是否有一种方法可以不做这个

此外,多个用户可以在
email\u open
中重复记录。。如何使计数具有不同的
用户id

例如,
user\u id
1可以打开一封电子邮件5次,但我只希望
email\u open\u计数
为1

谢谢

因此,根据您的示例,如果用户\u id 1可以打开一封电子邮件5次,但您只希望电子邮件\u open \u计数为1。您可以使用相同的用户\u id发送电子邮件,或者仅当该用户打开一封电子邮件,但如果该用户已打开,则不保存该电子邮件