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