Ruby on Rails之间:文本文本:?

时间:2012-08-29 07:36:16

标签: ruby-on-rails ruby ruby-on-rails-3.2

在Ruby on Rails中,

之间有什么区别
:bonus_card

dependent: ?

(在示例中

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

3 个答案:

答案 0 :(得分:1)

dependent: :destroy

是替代语法:

:dependent => :destroy

这是new in Ruby 1.9

:dependent:destroy:bonus_card都是symbols

答案 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 }

这仅适用于作为哈希传递的符号(也在作为方法参数传递的哈希中)。用作散列键的其他对象仍必须使用胖箭头(=>),其他地方使用的符号始终以冒号开头。