問題タブ [active-attr]
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.
ruby-on-rails - Rails ActiveAttr Gem、クラス内の属性の操作?
ActiveAttr::Model、ActiveAttr:MassAssignment、および ActiveAttr::AttributeDefaults を含む Rails 5 クラスがあります。
メソッドを使用していくつかの属性を定義し、attribute
いくつかのインスタンス メソッドを持っています。定義された属性の操作に問題があります。私の問題は、初期化子内で属性値を設定する方法です。いくつかのコード:
私が書いたように、メソッドfetch_po_field
は機能しません。productontology がローカル変数であると考えています (g_i_f_n(...)
さらに下に定義されており、機能し、その戻り値は正しいです)。この変数を設定するために私が見つけた唯一の方法は、self.productontology
代わりに書き込むことです。また、インスタンス変数@uri
は属性として定義されておらず、代わりにこの場所にのみ記述され、外部から見えるようになっています。
おそらく私は、Ruby と Rails の基本を単に忘れてしまったのでしょう。ActiveRecord と ActiveModel でこれを長い間行ってきました。self.productontology
を書く必要がある理由、 using@productontology
が機能しない理由、元のコードを書いた私の前任者が@uri
属性宣言スタイルに@ 表記を混ぜた理由を誰か説明できますか? 彼がこのようなことをするのには、何か理由があったに違いないと思います。
また、ドキュメントへのポインタにも満足しています。ActiveAttr クラスのメソッドでのインスタンス変数の操作を示す ActiveAttr のドキュメントを見つけることができませんでした。
ありがとうございました :-)