0

Ruby on Railsでは、違いは何ですか

:bonus_card

dependent: ?

(例では

class TrainPassengers < ActiveRecord::Base
  has_one :bonus_card, dependent: :destroy
end

)。

4

3 に答える 3

1
dependent: :destroy

の代替構文は次のとおりです。

:dependent => :destroy

Ruby1.9の新機能です。

:dependent:destroyおよび:bonus_cardはすべて記号です。

于 2012-08-29T07:37:18.383 に答える
0

これはruby1.9の新しい構文です

   dependent: :destroy

これの代替です

  :dependent => :destroy

経験豊富な人がそれについて考えているので、あなたはルビーに慣れていないと思います。あなたが足場を組んでいる場合は、::destroyこのコードはデフォルトでレールによって生成されます。

:dependent、:destroy、:bonus_cardはすべてシンボルです。シンボルについて読むと、これらは非常に便利です。

于 2012-08-29T07:44:43.973 に答える
0

Rubyでは、:somethingはシンボルです。シンボルはメモリに保持され、すばやく検索される参照であるため、ハッシュキーとして使用するのに適したデータ型です。Rubyハッシュは通常次のようになります。

{ :some_key => "some data", :other_key => 65536, :yet_another_key => :symbol_as_data }

Ruby 1.9では、上記を記述するための省略表記が導入されました。キーが記号である限り、コロンを最後に移動して太い矢印を省略できます。=>

{ some_key: "some data", other_key: 65536, yet_another_key: :symbol_as_data }

これは、ハッシュキーとして渡されたシンボル(メソッドパラメーターとして渡されたハッシュでも)にのみ有効です。ハッシュキーとして使用される他のオブジェクトは、引き続き太い矢印(=>)を使用する必要があり、他の場所で使用される記号は常にコロンファーストで記述されます。

于 2012-08-29T07:45:14.910 に答える