Rubyでコロンを追加することと前に追加することの違いは何ですか?
例:
#In rails you often have things like this:
has_many :models, dependent: :destroy
dependent:
コロンが追加されているのに、コロンが先頭に追加されているのは:models
なぜ:destroy
ですか? 違いはなんですか?
Rubyでコロンを追加することと前に追加することの違いは何ですか?
例:
#In rails you often have things like this:
has_many :models, dependent: :destroy
dependent:
コロンが追加されているのに、コロンが先頭に追加されているのは:models
なぜ:destroy
ですか? 違いはなんですか?
()
Ruby では括弧と場合によっては中括弧を省略できるため{}
、あまり明白ではないかもしれませんが、上記のコードは実際には次のようになります。
has_many(:models, { dependent: :destroy } )
has_many
これは、が 2 つの引数を取ることを意味します。1 つは symbol :
、必要に応じて不変の文字列、そしてdependent
がキーでdestroy
が値であるハッシュです。と見られることもあり:dependent => destroy
ます。
「追加された」コロンは、単に 1.9 でハッシュを表示する新しい一般的な方法です。
dependent: :destroy
と同じことです:dependent => :destroy
一方、「先頭に付いた」コロンは、Ruby のシンボル データ型を示します。