私はユーザーの認証といくつかのモデルの履歴の追跡に関するプロジェクトを持っています。私がpaper_trailの宝石を使った歴史については、ユーザーに表示する履歴をフィルタリングするという問題があり、current_user idをWhodunnitフィールドに追跡するように設定しました。 私のユーザは、ロールテーブルからロールを指定するrole_idを持っています また、私はidとuser_idフィールドを持ついくつかのアイテムを持つ別のテーブルを持っています。そして、今私の問題は、例えば、ユーザーロールが 'SomeRole'の場合、同じ役割を持つユーザーが行ったアクションのみを返さなければならない場合のように、ユーザーの役割に応じてVersionsテーブルから特定の行を取り出す方法です。 'SomeRole ' 私はPaper_trail gemに関するRuby On Railsのヘルプ
@versions = PaperTrail::Version.order('created_at')
ですべてのアクションを取ることができることを知っているだけで、私の用途に満足されているものを選択するようにフィルタリングする方法については考えています。それを行う簡単な方法はありますか?または、自分の役割のすべてのuser_idをチェックするよりも、それを順番に選択するようにハードコードする必要がありますか? whodunnitがテキストフィールドであると私はしたくなかった(
class AddUserIdToVersions < ActiveRecord::Migration
def change
add_column :versions, :user_id, :integer
add_index :versions, :user_id
end
end
バージョンへのuser_idフィールドを追加しました)
1:あなたは、私はこのソリューションを使用し、同様の状況では
本当に助けてくれてありがとう – Hatik