0

重複した情報を含むモデル/テーブルを作成しようとしています。これは、同じデータを異なるユーザーのテーブルに書き込んで、ユーザーごとに見つけることができるようにするためです。ただし、どの情報が他の情報と重複しているかをすばやく簡単に特定する方法が必要です。これを行う最善の方法は、テーブルへのエントリの「セット」ごとに増加するソートの item_id を持つことだと思います。ユーザーに帰属させずに情報を格納する別のテーブルを含めずにこれを行う方法はありますか?

4

2 に答える 2

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 を取得するために使用できます。

于 2012-08-05T17:30:31.227 に答える
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
于 2012-06-28T15:13:40.123 に答える