問題タブ [ruby-paranoia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
170 参照

ruby-on-rails - Paranoia でカスタム フィールド値の設定が機能しない

私は自分のプロジェクトでパラノイアをセットアップしようとしています。列と、deleted_at削除されたときに2に等しい別の列ステータスがあります。

モデル クラス

しかし、破棄または復元を実行すると、ステータス値が変更されないようです。

0 投票する
1 に答える
2942 参照

ruby-on-rails - Rails の関連付け with_deleted スコープが順序で機能しない

これが私がこれまでに得たものです:

そのクエリは魔法のように機能します。すべてのメンバーが自分のサイトに関連付けられているすべてのメンバーを自分の位置に関連付けます。

しかし、注文しようとすると、

削除されたメンバーにアクセスしようとすると、現在は nil です。

私が発見したのは、注文を追加すると、生成クエリが追加されることです

include x.deleted_at IS NULL OR x.deleted_at IS NOT NULL という where 句を使用しても、結合で拒否されるため含まれません。

私は Rails 4.2.3 と paranoia 4.2.3 を使用しています。いくつかの設定を確認しようとしましたが、しばらくして Rails 4.2.1 を使用すると問題なく動作することがわかりました。可能であれば、Rails 4.2.3 を維持したいと思います。

問題を解決するにはどうすればよいですか? 誰かがアイデアを思いついたら、私はそれを試す準備ができています. 少し早いですがお礼を。


joins(:position) 、 joins(:member) 、およびその両方を追加しようとしましたが、結果は同じでした

変えてみた

為に

しかし、それは何も変わりません

0 投票する
1 に答える
254 参照

ruby-on-rails - carrerwave S3 のファイルのパスを更新する

アップローダ ( ) で Carrierwave(fog) を使用して S3 にアップロードされたファイルを含むドキュメント モデルがありますmount_uploader :file, DocumentUploader。また、「パラノイア」ジェムをacts_as_paranoid使用してドキュメントをソフト削除しています。破棄時に、添付ファイルを同じディレクトリの「アーカイブ」フォルダーに移動したいと考えています。その後、削除されたドキュメントが復元されたら、元の (親) ディレクトリに戻す予定です。

私のモデルには次のものがあります。

メソッド内で、move_file_to_archivefog を使用して amazon への接続を確立し、次の手順を実行してファイルをアーカイブに移動します。

問題は、ドキュメント オブジェクトが古いファイルではなく新しい (アーカイブされた) ファイルを指すようにする方法が見つからないことです。どういうわけか、オブジェクトが破棄されているときに、self.file.path を元のパスではなくアーカイブされたパスに変更したいと考えています。そして、ドキュメントが復元されているときに元に戻します。どんな助けでも大歓迎です!

0 投票する
2 に答える
727 参照

ruby-on-rails - Rails_admin とパラノイア

何かを削除したときにパラノイアが生成する「ソフト削除」レコードを管理する方法はありますか? 私が言いたいのは、rails_adminまたは rails console で削除したレコードは実際には削除されず、代わりにパラノイアがdeleted_atタイムスタンプでマークし、ビューのスコープから外れるということです。

これらの削除されたレコードを監査、潜在的な回復、または完全に完全に削除するために表示できるようにしたいと考えています。

私は rails_admin と paranoia を基本的にインストールしていますが、特別なことは何もありません。

また、この以前の質問は役に立ちませんでした。

0 投票する
3 に答える
188 参照

ruby-on-rails - 論理的に削除された場合でも、オブジェクトの :name を返す必要があります (パラノイアを使用)

私は使用しUsersて soft_deleted することができ、特定の割り当てに取り組んだ人数と割り当て全体の合計を追跡するシステムを持っています(単純にするため)。paranoia (2.0.2)TimeRecords:hoursuser:cost:cost = :rate * :hours

これらの記録は保持されるため、userのレートが将来変更された場合でも、過去に特定のタスクに対して請求された金額の正確なスナップショットを保持できます。論理的な削除を入力します。Auserは、論理的な削除 (設定deleted_at: Time.now) を使用してシステムから削除できますが、名前が にリンクされたまま表示さ:hours:cost、過去に請求されたことがある必要があります。私は機能するソリューションを持っていますが、私にはハックすぎると感じており、よりエレガントなソリューションを見つけることができませんでした. 簡単な方法ではなく、正しい方法でこれを行う必要があるかもしれない提案/ヘルプをいただければ幸いです。

現在の解決策:

0 投票する
0 に答える
518 参照

ruby-on-rails - Paranoia の 'with_deleted' コマンドが Rails タスクで機能しない

Raisで実行する次のタスクがあります。

問題はラインで発生します

何が起こるかというと、それは投げているということです

ActiveRecord::RecordNotFound: 'id'=71 の UserGroup が見つかりません [WHERE "user_groups"."deleted_at" IS NULL]

コマンドラインに「with deleted」がなかったかのように。

Railsコンソールで同じコマンドを入力しようとしましたが、うまくいきました。つまり、 ug = UserGroup.with_deleted.find(71) を実行すると、問題なく動作し、削除されたユーザーが見つかります。

それで、paranoia の 'with_deleted' コマンドが Rails タスクで機能していないようです...何か不足していますか?

0 投票する
5 に答える
2493 参照

ruby-on-rails - Paranoia Gem - 削除済みアイテムと結合

Paranoia gem を使用していますが、現在問題に取り組んでいます。削除されたアイテムを結合する必要があり has_manyますが、削除されていないだけではありません。私のモデル:

私が実行しているクエリはmailings、削除されたアイテムを返す必要があります:

0 投票する
2 に答える
6098 参照

ruby-on-rails - Rails 5 Paranoia - 削除されたレコードを「表示」するにはどうすればよいですか?

レコードをソフト削除すると、コントローラーのアクションでそれを呼び出すことができません。これはshow、レコードの に一致するレコードを探すためですID WHERE deleted_at IS NULLL。これは宝石の目的を考えると正しいですが、それでもできるようにしたいと思いますアプリケーション内で一種の「読み取り専用」状態でアクセスして、ユーザーがアーカイブを確認し、場合によっては復元できるようにします。

オブジェクトに再度アクセスできるように、削除スコープを回避するにはどうすればよいですか?

更新 1

@slowjack2k のアドバイスにより、次のクエリを使用してソフト削除されたレコードにアクセスできます。

その後、 CanCanCan が 原因で新しい問題が発生しましたload_and_authorize_resource

only_deletedフィルターを無視すると、選択した ID は deleted_at が null ではない (削除されていない) 場合にのみ見つかるため、エラーが発生し、承認を無効にすると「修正」されるため、CanCanCanParanoiaの間の問題である必要があります。

これはまったく同じ問題のスレッドです: https://github.com/rubysherpas/paranoia/issues/356

これが StackOverflow の新しい問題のスレッドです: Paranoia と CanCanCan の間の Rails 5 の互換性、危うい?

解決策が見つかったら、もう一度更新します。ありがとうございます。

更新 2

問題は解決されました。解決策は、上記の新しい問題のスレッドで見つけることができます。