問題タブ [paper-trail-gem]

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 投票する
2 に答える
1206 参照

ruby-on-rails - Rails 4 - モデル属性を更新できません

同じモデルの属性間の条件に基づいて属性を保存するにはどうすればよいですか? 属性の状態が true のままでない限り、レコードを更新できませんでした。

以前にこのスレッドをチェックしました: Rails. 保存時にモデル属性を更新

これは私が実行しているコードです:

基本的に、追跡したい「Ips」のリストと、IPのステータスが利用可能かどうかを示す「is_available」ブール値があります(「ステータス」フィールドに基づいて自動的に設定されます) )。

問題は、たとえば、

モデルにアクセスし、レコードを編集し、:status を :available から :allocated に変更し、[保存] をクリックすると、ロールバックし、「IP を更新できませんでした」というメッセージが表示され、サーバー上でのトランザクションは「完了 406 」です。受け入れられません

ログは次のとおりです。

これは私の Gemfile です (デフォルトのもの以外の追加の gem のみ):

お時間をいただきありがとうございます!

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

ruby-on-rails - paper_trail を使用して、acts_as_taggable_on 関連付けを具体化する

paper_trail と act_as_tggable_on の両方を使用して、Rails エンジンのバグに取り組んでいます。削除したイベントをロールバックすると、イベントの詳細は復元されますが、タグは復元されません。誰かがこの同じ問題に遭遇しましたか?

関連情報:

モデル/calagaor/event.rb

config/initializers/act_as_taggable.rb ファイルも作成しました。

私はレールにかなり慣れていないので、正しい方向に向かっているかどうかはわかりません。詳細が必要な場合はお知らせください。ありがとう!

編集:

コントローラー/calagator/versions_controller.rb

paper_trail '3.0.8' を使用しています

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

ruby-on-rails - コントローラーで定義された user_for_paper_trail が機能しない

この DemandControls コントローラーで user_for_paper_trail メソッドを直接定義しようとしています。Shared::BaseController でも定義しようとしましたが、バージョン テーブルの whodunnit 列が NULL として表示され続けます。特に ApplicationController クラスのメソッドとして定義する必要がありますか?

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

rspec - has_paper_trail でテストが失敗する

newsaudioの 2 つのモデルを持つアプリがあります。

プロジェクトに paper_trail を追加し、両方のモデルに has_paper_trail を配置すると、アプリは正しく動作しますが、ニュース モデルの一部のテストは失敗します。

ニュース アイテムには、有効なオーディオ URL の本文をチェックし、URL の ID に基づいて検索 (Audio.find) するメソッドがあります。失敗するのは、これと、他のモデルを呼び出す同様のメソッドです。

オーディオ仕様から has_paper_trail を削除すると、ニュース テストはすべてパスします。オーディオ テストは、あってもなくてもすべて合格します。

PaperTrail はテストでは無効になっています (そして、それが事実であることを確認するためのテストがあります)。

別のモデルのメソッドを呼び出すニュース テストが失敗する原因は何ですか?

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

ruby-on-rails-4 - papertrail 4.0 へのアップグレード (PaperTrail::Version:Class の未定義メソッド「relation_delegate_class」)

papertrail 4.0-stable バージョンを使用するように Rails アプリをアップグレードしました。しかし 、PaperTrail::Version:Class の未定義のメソッド「relation_delegate_class」を取得しています

Gem のバージョン: papertrail-4.0-stable、rails-4.2.4

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

ruby-on-rails - Ruby: 基本クラスのコンテキストでメソッドを実行する

約 20 の異なるアクティブなジョブがあり、それぞれが controller のコンテキスト外で PaperTrail コンテンツbefore_performを設定するメソッドを必要としていることに気付きました。

before_performこのメソッドをヘルパーに入れてから、各ジョブにヘルパーを含めることを計画していましたが、エラーが発生しています:

MyApp:JobHelpers:Module の未定義のメソッド `before_perform'

これは、問題のモジュールが単なるモジュールであり、アクティブなジョブではないためだと考えています。before_perform各アクティブ ジョブで同じ 4 行の方法を繰り返さないようにするにはどうすればよいですか?

Job_helper:

仕事:

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

ruby-on-rails - ビューで paper_trail を使用して変更セットからの出力をフォーマットするにはどうすればよいですか?

私の出力:

私のレポートの出力[1]

エンド ユーザーが読みやすいように出力を作成するにはどうすればよいですか?

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

ruby-on-rails - has_paper_trail を使用してモデルで Paper Trail を使用してバージョン管理をスキップする方法は?

インポートからのデータが欠落しているテーブルを更新する必要があります。そして、私はこの更新をバージョン管理するための紙の証跡を望んでいません。モデルから has_paper_trail を削除せずに、この 1 回限りの実行のバージョン管理をスキップするにはどうすればよいですか?

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

ruby-on-rails - ペーパー トレイル: 関連付けられたモデルが変更されるたびに、親にバージョンを作成しますか?

私は、has_many DataであるRecordに監査証跡を表示する必要がある Rails アプリに取り組んでいます。私のレコードには paper_trail があり、関連するデータム モデルがあり、それらのバージョンを問題なく保存しています。

ただし、1 つ以上の関連付けられたデータが変更されるたびに作成される Recordの1 つのバージョンが必要です。現在、変更される各 Datum でバージョンを作成しますが、Record の属性が変更された場合にのみ Record のバージョンを作成します。関連するデータが変更されたときにそれを行っていません。

次のように、Record の after_touch コールバックに touch_with_version を入れてみました。

after_touch コールバックが発生しますが、残念ながら、データムごとに新しいバージョンが作成されるため、レコードが作成されると、データムごとに 1 つ、合計 10 個のバージョンが既に存在します。

複数のバージョンを作成しないように、バージョンが作成されているかどうかをコールバックで伝える方法はありますか? Record コールバックの 1 つをチェックインし、Datum が既にバージョンをトリガーしている場合は、それ以上何もしないでください。

ありがとう!

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

ruby-on-rails - 「PaperTrail.enabled」をグローバルに無効にする

私は Web サーバーとして Puma を使用していますapplication.rb

ログインしrails cて見ることができます:PaperTrail.enabled? #=> false

ただし、 を使用してエンドポイントの 1 つにリクエストを投稿するbinding.pryとき、およびPaperTrail.enabled? #=> true. アプリをゼロから作成しましたが、Webrick を実行していますが、同じ問題が発生しています。どこでも paper_trail を適切に無効にするにはどうすればよいですか?