Ruby on Rails3':'vs'=>'

时间:2013-01-15 17:05:19

标签: ruby-on-rails-3 aptana

在Ruby On Rails 3中,使用

是正确的
validates :name,  presence: true, length: { maximum: 50 }

代替

validates :name,  presence: true, :length => { maximum: 50 }

在第一种情况下,即使代码工作,Aptana3仍然说这是错误,我必须改为第二种方法退出它说错误存在。

为什么?

Rails 3.2.10 ruby 1.9.3p362(2012-12-25修订版38607)[x86_64-darwin12.2.1]

2 个答案:

答案 0 :(得分:1)

您的IDE认为正确的可能与实际正确的不同。

例如,IntelliJ需要设置Ruby语言级别以获取新的哈希语法。

答案 1 :(得分:1)

它与我认为的Rails无关,而且与你的ruby版本有关。

您可能需要将Aptana配置为使用ruby 1.9。但奇怪的是你在第二个版本(presence: true)中也使用了新语法,所以问题可能出在其他地方......

但问题是,第一个版本是您应该使用的。