只是一个关于像关联模型一样使用hstore字段是否安全或良好实践的问题,例如,我的模型是用户、奖励和奖励,我希望有以下关联:
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关系的原因。任何想法或评论,如果这可能是一个正确的方式,将被引用!
发布于 2014-11-23 14:06:44
IMHO,使用任何一种“非常规”机制来模拟ActiveRecord中的关系是不值得的。我将使用标准机制( Reward,belongs_to :prize或has_many :prizes),并让您的Prize模型包含一个“墓碑”位,当您希望奖励变得有效的不可见时。为了使工作更好/更容易,您可以做一些事情:
delete方法,以便设置它的墓碑位,而不是实际删除对象。default_scope来隐藏设置墓碑位的奖品,这样“删除的”奖品就不会出现在可用的奖品列表中。https://stackoverflow.com/questions/27026827
复制相似问题