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

它是Ruby 1.9 中的新功能

:dependent,:destroy并且:bonus_card都是符号

于 2012-08-29T07:37:18.383 回答
0

这是 ruby​​ 1.9 中的新语法

   dependent: :destroy

这是这个的替代品

  :dependent => :destroy

我认为您是 ruby​​ 的新手,因为有经验的人对此有所了解,如果您使用脚手架然后依赖: :destroy 此代码现在默认由 rails 生成。

: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 回答