-1

根据帖子建议更新了这篇文章:rails 中不一致的命名约定让我很困惑。似乎语法在铁路中无处不在......

这里有些例子:

为什么下面的迁移中有逗号?为什么关键字“default”前面没有冒号?这个默认关键字是什么?一个方法,或一个变量,一个符号.. 那该死的东西是什么??:

add_column :zombies, :rotting, :boolean, default: false

这是另一个例子:

为什么年龄不 :age (带冒号)?为什么在它之前用“ : ”调用make_rotting ?

 class Zombie < ActiveRecord::Base
       before_save :make_rotting

   def make_rotting
      if age > 20
         self.rotting = true
      end
    end
 end

我是一个 Java 人,是的,Java 很冗长,但至少它是一致的,我想回去:(

4

2 回答 2

1

我同意,Ruby 和 Rails 一开始可能会很混乱。

如果您提供代码示例,我认为您会得到更好的答案。因为您是初学者,您可能variable对方法或:value键/符号有误解。

我可以帮助你的一件事是:

variable: :value实际上是

key: :value:value符号在哪里)

Ruby 的新哈希语法曾经是:

:key => :value

于 2012-10-24T11:13:22.793 回答
0

首先有不同类型的变量:

1.局部变量

foobar

2.实例变量

@foobar

3.类变量

@@foobar

4.全局变量

$foobar

您可以通过它们的使用方式简单地区分它们。

现在如果谈论模型的属性,可以声明为

property :foobar, :type => FIXNUM

现在validatevalidates两者都不一样

validates :foobar ,:numerically => {:greater_than_or_equal_to => 0}

wherevalidates用于验证属性。

validate :method_name

在哪里validate验证某些方法

于 2012-10-24T11:30:06.167 回答