首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用hstore字段作为关联字段

使用hstore字段作为关联字段
EN

Stack Overflow用户
提问于 2014-11-19 20:58:00
回答 1查看 291关注 0票数 1

只是一个关于像关联模型一样使用hstore字段是否安全或良好实践的问题,例如,我的模型是用户、奖励和奖励,我希望有以下关联:

代码语言:javascript
复制
class User < ActiveRecord::Base
   has_many rewards
end

class Reward < ActiveRecord::Base
   belongs_to :user
end

class Prize < ActiveRecord::Base

end

注意:奖励模型将有一个hstore字段,我将在其中存储奖励,比如{ prize_id:1,name:*,等等,这是为了防止奖励对象被删除,这就是为什么我不想建立has_many关系的原因。任何想法或评论,如果这可能是一个正确的方式,将被引用!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-23 14:06:44

IMHO,使用任何一种“非常规”机制来模拟ActiveRecord中的关系是不值得的。我将使用标准机制( Rewardbelongs_to :prizehas_many :prizes),并让您的Prize模型包含一个“墓碑”位,当您希望奖励变得有效的不可见时。为了使工作更好/更容易,您可以做一些事情:

  1. 重写模型的delete方法,以便设置它的墓碑位,而不是实际删除对象。
  2. 使用default_scope来隐藏设置墓碑位的奖品,这样“删除的”奖品就不会出现在可用的奖品列表中。
  3. 使用gem为您处理这种“软删除”,例如偏执狂
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27026827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档