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 のシンボル データ型を示します。