我正在尝试在其中包含重复信息的模型/表。这样做的原因是,可以将相同的数据写入不同用户的表中并为每个用户找到。但是,我想要一种快速简便的方法来识别哪些信息与其他信息重复。我认为这样做的最好方法是让一个item_id的类别随着每个“set”条目的增加而增加。有没有办法在不包含另一个存储信息的表的情况下执行此操作而不将其归因于用户?
答案 0 :(得分:0)
这就是我如何设置你的联想:
class User < ActiveRecord::Base
has_many :records
end
class Record < ActiveRecord::Base
belongs_to :user :foreign_key => user_id
end
然后,您必须在保存记录之前将user_id属性设置为current_user的id。
您可以通过以下方式检索行:
User.first.records
Record.first.user
答案 1 :(得分:0)
实际上我要找的是PostgreSQL序列。这是我最终在迁移中使用的代码
def up
ActiveRecord::Base.connection.execute("create sequence action_id_seq;")
end
def down
ActiveRecord::Base.connection.execute("drop sequence action_id_seq;")
end
然后在查询时我使用
Action.find_by_sql("SELECT NEXTVAL('action_id_seq') AS action_id").first.event_id
就我的目的而言,这种方法效果很好,我可以使用它来获得一个我控制增量的唯一ID。