問題タブ [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 に答える
136 参照

ruby - メソッドの名前付け 変数の呼び出し メソッド Ruby

こんにちは、私は非常に初心者です。

attr_accessor がどのように機能するかを理解していると思います (以下)。「セッター」はname=(name)メソッドです。そして、そのメソッドが代入と同等であることを知っています: name = "john"。「=」は、引数を受け取り、その引数を呼び出すオブジェクトにその引数を割り当てるメソッドであるためです。(ただし、「名前」がオブジェクトに割り当てられているため、オブジェクトと見なす方法がわかりません)

私の質問は、メソッドを呼び出す変数をメソッド名として割り当てるにはどうすればよいですか? 何かが足りない気がする..

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

ruby - 割り当て記号はどのように機能しますか - Ruby

Rubyでは、ローカル変数を割り当てるだけです。

それはmain.sound=("bang")方法ですか?もしそうなら、そのメソッド "sound=" はどこでどのように定義されていますか? またはその割り当てはどのように機能していますか?そうでない場合、実際に何が起こっているのですか?

セッターメソッドの場合、 x.sound=("bang") と言うでしょう。そして、引数「bang」を使用してオブジェクト「x」でメソッド「sound =」を呼び出しています。インスタンス変数「sound」を作成しています。

そして、私はそのすべてを描くことができます。ただし、「メイン」オブジェクトで変数を割り当てる場合はそうではありません。私が知る限り、それは Object クラスのインスタンス変数ではありません...それともそうですか? 私は困惑している。

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

ruby - Ruby 2.1.0デフォルト値を持った後のインスタンス変数の再割り当て

この 1 か月以内に Ruby を学んだばかりで、RSpec を使用して TDD スキルに取り組んでいます。

次のテストに合格しようとしています。

これが私のコードです:

私は本質的に次のことをしようとしています:

ただし、色を緑に再割り当てしようとした後も「黒」が出力されます。助けてください。

ありがとう。

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

ruby - attr_accessor は :player = @player をどのように認識しますか?

コードは次のとおりです。

今、私が書くと:

明らかに吐き出しRobertます。

私はRubyに少し慣れていないので、この質問が皆さんにとって明らかである場合はご容赦ください。私はまだ頭を包み込むのに苦労しています。「インスタンス」、「クラス」、およびグローバル変数について学んでいますが、私の質問は次のとおりです。Ruby は:player、上記のコードで が参照されていることをどのように認識し@playerますか? 代わりに、なぜコードが書かれていないの:@playerですか?

それは意味がありますか?

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

ruby - attr_accessor がメソッドを非公開にするのはなぜですか?

クラスで attr_accessor を動的に定義したいのですが、生成されたメソッドが非公開になります。通常のクラス構文を使用したり、自分でメソッドを記述したりせずに、次のエラーをスローしないようにするにはどうすればよいですか?

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

ruby-on-rails - Rails 4 attr_accessor が複数のメソッドで機能しない

私のモデルは次のようになります。

経過時間を計測したいのですがself.start_time、メソッド内に存在しますstart_time。しかし、私のelapsed_time方法でself.start_timeは、ゼロです。何故ですか?

Rails 4.1.0 と Ruby 2.0.0 を使用しています。

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

ruby-on-rails - パーミッションを格納するコントローラーの attr_accessor

コントローラーで使用attr_accessorして、applicationController で定義されたメソッドに設定されているアクセス許可を保存していますが、問題があります。私がこれを行う場合:

perms=次に、レールは存在しないと主張します

私が行った場合:

@permsincheck_permissionsnil任意の子コントローラーにあります。次を使用して使用可能なインスタンスメソッドを確認しましprint self.instance_variablesたが@perms、表示されませんでした。おそらく@perms、アクションが呼び出されたときに作成されるコントローラーのオブジェクトインスタンスではなく、クラスインスタンスに対して設定されているためです

どうしたの?レールはattr_accessorコントローラーが好きではありませんか? クラス内でアクセス許可を設定し、そのクラスの任意のオブジェクトにアクセスできるようにして、次のように設定できるようにするにはどうすればよいですか。

を使用する必要がありますself.set_permissions。そうしないと、set_permissions を設定しようとすると、存在しないと主張されます (クラス メソッドではなくオブジェクト メソッドであるため)。

編集:明確にするために、コントローラーにパーミッションを設定したい(ただし、コントローラーごとに異なる); 継承されたコントローラー内で個別に定義されていない限り、そのコントローラーのインスタンス (つまり、アクション用に作成されたオブジェクト インスタンス) またはそのコントローラーから継承するコントローラー (たとえば、ノード コントローラーは API コントローラーから継承するため、同じパーミッションを使用する) と同じになります。 (tokens コントローラーは api コントローラーから継承しますが、アクセス許可なしで実際にトークンを取得できるようにする必要があります)。

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

ruby-on-rails - :notes と :place にデータを配置すると、検証がまだ失敗する

このコードは正しいと思いますが、何が起こるかわかりませんか? これが私のコードです:

registration.rb :

私のコントローラー、

問題は、データを と に配置する:notes:place、検証がまだ失敗することです。