問題タブ [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 投票する
1 に答える
110 参照

ruby-on-rails - ネストされたルート リソースを既存のすべてのルートに追加する方法

paper_trail という優れた gem を使用しています。リソースのバージョンを一覧表示する「履歴」というページを作成しました。私のルートファイルには、すべてのルートのネストされたリソースがあります...これはまったくDRYではありません。

このルートは users/1/history を提供します

今、私は会社/1/歴史を持っています

/history を、すべてのリソースのネストされた履歴パスでルート ファイルを埋めずに、すべてのルートのネストされたルートとして機能させるにはどうすればよいですか?

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

ruby-on-rails - papertrail で特定の属性が変更されたバージョンを見つける

私は自分のプロジェクトでPapertrail gemを使用しており、次のことを行う方法を見つけるために広範囲に検索しました。

私がやりたいことは、特定の属性が特定の値になったオブジェクトのバージョンを見つけることです。

object.versions.where(attribute: "value")

これが Papertrail でも可能かどうかは誰にもわかりませんか?

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

ruby-on-rails-4 - 関連データのRuby's Paper Trail拡張

私は自分の Ruby プロジェクトで airblade Paper Trail gem を使用しています。バージョン管理履歴よりも、いつ何が起こったかの履歴として使用しようとしています。つまり、バージョン履歴からデータを再作成しようとはしません。レコードの存続期間中に何が起こったかをユーザーに伝えるために使用する人が増えています。

カスタム ダンパーまたはフックをモデルに追加して、company_id などの関連付けを意味のある値 (会社名など) にトラバースできるようにする方法はありますか。

ID を介して製品に関連付けられている属性「name」を持つモデル Company を取り上げます。

製品が更新されると、company_id がバージョン履歴に保存されます。私がやりたいのは、保存する直前に関係をたどって会社名を取得することです。

コードで「ダンプ」への呼び出しへの参照を見つけましたが、「ダンプ」に正しく応答するようにモデルを拡張するにはどうすればよいか疑問に思っています。

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

ruby-on-rails - paper_trail でオブジェクト ビューを変更する方法

開発中のアプリケーションの監査に paper_trail gem を使用しました。ほとんどの機能を管理でき、バージョン テーブルのデータをユーザーに表示できました。そうすることで、バージョンテーブルのオブジェクト属性のデータは、なんとなく読めなくなります。どうすれば読めるようになりますか?object 属性のサンプル出力は version.object次のとおりです。単一のセルで次の形式で取得します。

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

ruby-on-rails - RVM で Ruby 2.1.2 にアップグレードした後の PaperTrail (paper_trail) エラー。初期化されていない定数 PaperTrail::Rails::Engine

からアップグレードしようとしていますRuby 1.9.3 to Ruby 2.1.2 (Rails 4.0)。RVMを使用しています。

Ruby 2.1.2 をインストールし、指定を含めて Gemfile を更新し、"gem 'paper_trail', '~> 3.0.5'"RVM で Ruby 2.1.2 に切り替え、新しい gemset を作成し、それに切り替えました。

次に、バンドルのインストールを行いました。

Rails サーバーを実行しようとすると、次のエラーが表示されます。

/Users/sjohnson/my_app/config/initializers/paper_trail.rb:2:in <top (required)>': uninitialized constant PaperTrail::Rails::Engine (NameError) from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/zeus-0.13.3/lib/zeus/load_tracking.rb:50:in load' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/zeus-0.13.3/lib/zeus /load_tracking.rb:50:in load' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/zeus-0.13.3/lib/zeus/load_tracking.rb:43:in load' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/engine.rb:609:in block (2 levels) in <class:Engine>' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/engine.rb:608:in each' /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/engine.rb:608:in block in <class:Engine>' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/initializable.rb:30:in instance_exec から /Users/sjohnson/.rvm/gems から/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/initializable.rb:30:/Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib run' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/initializable.rb:55:in の run_initializers のブロック内/Ruby/2.1.0/tsort.rb:226:/Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb block in tsort_each' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:348:in の each_strongly_connected_component 内のブロック (2 レベル) :418:インチ block (2 levels) in each_strongly_connected_component_from' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:427:in /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:417:in each' からの each_strongly_connected_component_from' /Users/sjohnson/.rvm/gems/ruby-2.1 block in each_strongly_connected_component_from' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/initializable.rb:44:in からの.2@rails4/gems/railties-4.0.5/lib/rails/initializable.rb:44:in tsort_each_child' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:411:in call' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0 /tsort.rb:411:/Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:345:in call each_strongly_connected_component_from' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:347:in ' からの each_strongly_connected_component 内 each' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:345:in ' /Users/ sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:345:in each_strongly_connected_component' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tsort.rb:224:in tsort_each' from /Users/sjohnson/.rvm/rubies/ruby-2.1.2/lib/ruby /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/application.rb:215 の /2.1.0/tsort.rb:205:in tsort_each' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/initializable.rb:54:in run_initializers' :の initialize!' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/railties-4.0.5/lib/rails/railtie/configurable.rb:30:in/Users/sjohnson/my_app/config/environment.rb の method_missing:5: <top (required)>' from /Users/sjohnson/my_app/spec/spec_helper.rb:10:inrequire で /Users/sjohnson/my_app/spec/spec_helper.rb:10:require<top (required)>' from /Users/sjohnson/my_app/spec/api/v1/api_authentication_spec.rb:1:in で /Users/sjohnson/my_app/spec/ からapi/v1/api_authentication_spec.rb:1:in <top (required)>' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in load' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/configuration. rb:1057:in block in load_spec_files' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in each' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in load_spec_files' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:97:in setup ' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:85:in run' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:70:in run' from /Users/sjohnson /.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:38:in invoke' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.3/exe/rspec:4:in ' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/bin/rspec:23:in load' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/bin/rspec:23:in ' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/bin/ruby_executable_hooks :15:in eval' from /Users/sjohnson/.rvm/gems/ruby-2.1.2@rails4/bin/ruby_executable_hooks:15:in '

実行しようとしました: bundle exec rails generate paper_trail:install

移行ファイルが既に存在することを示していました (PaperTrail は 1.9.3 で動作していました)。それで、もう一度実行しました: bundle exec rails generate paper_trail:install -s

正常に完了しましたが、同じ問題があります。

config/initializers/paper_trail.rb:

アイデア?役立つその他の情報はありますか?

編集: 初期化ファイル内の paper_trail 3.0.3 への参照にもかかわらず、gem はバージョン 3.0.5 です (gem リストを実行して確認)。エラー トレース内の 3.0.3 への参照は、Rspec 用です。

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

ruby-on-rails - paper_trail での has_one の変更に関するバージョンの作成

私は属している / has_one 関係を持っており、paper_trail gem で追跡/バージョン管理を行っています。has_one モデルの属性を変更すると、バージョンは belongs_to 側で作成されますが、変更を行った側では作成されません。

例を挙げると: 生徒 has_one ロッカー ロッカー所属 生徒

私はこの関係を両側から編集できますが、現在、ロッカー側 (最後にロッカーを使用した学生) のみをバージョン管理できます。反対の履歴も必要です - 学生が使用したロッカー.

もちろん、更新を押すたびにバージョンが作成されるのであれば、これはまったく問題ありませんが、paper_trail はスマートであり、属性が実際に変更された場合にのみバージョンを作成します。ロッカー関係が学生モデルにないため、バージョンは作成されません (ただし、追加情報を保存するために独自のメタ情報属性を作成しました)。

それで、これを行う方法はありますか、それは醜いものではありません:)醜い)

どうも