問題タブ [attr-accessor]

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 に答える
54 参照

ruby-on-rails-3 - Rails3の特定の方法でのみ列にアクセスする

Userとの2つの属性を持つモデルがある:nameとし:ageます。:age「defmanipulate_age()」(いくつかのメソッド)だけが列にアクセスできるようにしたい。これにはuser.update_attributes!(:age => 10)、例外をスローすることも含まれます。Rails 3の方法でそれを行うことは可能ですか?

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

ruby - attr_accessor またはカスタム メソッドが重複するメソッド名の混乱

Ruby が短縮形のメソッド呼び出しをサポートしていることは理解して1.+(2)1+2ますattr_accessor。アクティブなオブジェクトの外でそれらにアクセスしている間は、その名前が異なります) また、何も異なりません (引数が必要な場合writer=除く)。writer

私の質問はこのコードに含まれています (2 番目のコメント)

数値のみを返す必要があるメソッドを指していて、代わりに呼び出されないt.number = 13ときに新しい値をどのように設定するのか、なぜ機能するのだろうか。t.number=(13)

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

ruby-on-rails - Rails 4 の仮想属性

「attr_accessible」が削除されたため、Rails 4で仮想属性(ゲッター、セッター)を使用するにはどうすればよいですか。

ここで問題が発生しています

更新/作成しようとすると、上記のメソッドに到達できますが、以下のセッターに到達できません。

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

ruby-on-rails-3 - メソッド呼び出しでattr_accessorに属性リストを指定

このようにメソッド呼び出しで構築すれば簡単にできる属性を大量に作成したいのですが、

これは機能していません。これを達成する他の方法はありますか?

どんな助けでも大歓迎です。

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

ruby - 複数のクラスにわたるattr_accessor?

多くの異なるクラスを持つ単一のモジュールがあります(個別のファイルに分割されています)。各クラスには同じセットの がありますが、ブロックattr_accessorを繰り返す代わりにそれを再利用するにはどうすればよいでしょうか?attr_accessor

私が現在していることは....

私は運が悪いのでこれをやってみました...

アプリ全体でこれらのモジュールに直接アクセスする必要があります (これは Rails アプリです)。例えば:Animals::Dog.give_water

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

ruby - Rubyでオブジェクトを作成する際の「attr_accessor」の目的は何ですか?

質問を拡大する前に、ここここここの質問への回答を読んだことを述べさせてください。したがって、私の質問を重複としてマークしないように依頼しても、これらの回答ではattr_accessor. 私の質問は、構文ではなくロジックに関係しています。

以下の 2 セットのコードを作成しました。attr_accessor1 つのセットにラインがないことを除いて、セットは互いに同じです。両方のセットを実行すると、どちらも同じ出力が得られました。attr_accessorでは、論理的に言えば、両方のコード セットで同じ意図した出力が得られた場合、この行によってどのような違いが生じるのでしょうか?

コードセット 1:

コードセット 2:

どちらのコード セットも Animal クラスを呼び出して、名前付きの動物オブジェクトの新しいインスタンスを作成します。私は「...WITH Names」を強調しています。attr_accessor (2 番目のセット) が:name属性を定義しているためです。しかし、最初のコード セットでは、 を削除しましたattr_accessorが、name 属性を持つオブジェクト インスタンスを作成することができました。