我正在尝试创建一个包含重复信息的模型/表。这样做的原因是,可以在不同用户下将相同的数据写入表,并为每个用户找到相同的数据。然而,我想要一种快速简单的方法来识别哪些信息是其他信息的副本。我认为做到这一点的最好方法是拥有一个item_id,它随着表中每“一组”条目的增加而递增。有没有一种方法可以做到这一点,而不包括另一个存储信息的表,而不将其归因于用户?
发布于 2012-08-06 01:30:31
实际上,我要找的是一个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,我可以控制它的增量。
发布于 2012-06-28 23:13:40
这就是我如何设置您的关联:
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.userhttps://stackoverflow.com/questions/11247531
复制相似问题