在Ruby on Rails中,
之间有什么区别:bonus_card
和
dependent: ?
(在示例中
class TrainPassengers < ActiveRecord::Base
has_one :bonus_card, dependent: :destroy
end
)
答案 0 :(得分:1)
答案 1 :(得分:0)
它是ruby 1.9中的新语法
dependent: :destroy
这是
的替代方案 :dependent => :destroy
我认为你是红宝石的新手,因为有经验的人对此有所了解,如果你的脚手架然后依赖::破坏此代码默认情况下由rails生成。
:dependent,:destroy和:bonus_card都是符号。阅读符号这些非常有用
答案 2 :(得分:0)
在Ruby中,:something
是一个符号。符号是保存在内存中并快速查找的引用,因此它是一种很好的数据类型,可用作哈希键。 Ruby Hash通常看起来像:
{ :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 }
这仅适用于作为哈希键传递的符号(也在作为方法参数传递的哈希中)。用作散列键的其他对象仍必须使用胖箭头(=>
),其他地方使用的符号始终以冒号开头。