2011-05-31 58 views
2

我在读一本书的Ruby,但它并不能解释如下:这些奇怪的字符是什么意思?

  1. 这是什么:validates :name, :presence => true

    • 我的意思是,我知道它做什么,但什么是validates?它是验证器类的方法吗?如果是这样,那么怎么没有提到类名呢?

    • :在前面的代码和Rails中的含义是什么意思?

  2. 在以下代码:<%= form_for([@post, @post.comments.build]) do |f| %>

    • form_for一个对象或一个程序的功能?

    • 有什么|字符的|f|

  3. 意义在<%= link_to 'Edit Post', edit_post_path(@post) %>

    • 和定义谁,在哪里,当edit_post_path方法?

    • 它属于哪一类?

+0

这是哪本书? – nathanvda 2011-05-31 10:11:55

+0

Mr. Neighbour's Humble Little Ruby Book – emurad 2011-05-31 10:38:47

+1

这些问题在[Rails 3 in Action](http://manning.com/katz)中得到了回答,它是一本初学者 - > Rails 3的中级书籍。应该让你了解速度这些东西。 – 2011-05-31 11:10:58

回答

6
  1. validates是一种方法,在滑轨的validators的一部分。它在(实际上包含)一个超类中声明,这就是为什么它不必在模型中声明的原因。任何东西前面的:都表示符号,而不是变量。符号是Ruby的一部分,有点类似于字符串。
  2. form_for是一种方法,它需要一些参数和一个块(这就是为什么后面有一个do)。 |是Ruby语法的一部分,这是您附带代码块参数的方式。
  3. edit_post_path是由定义的导轨魔术和路线。这是一个辅助方法。

我鼓励您阅读关于Ruby的this book,以更熟悉使Ruby成为优秀编程语言的符号,代码块,模块和其他内容。

+0

感谢您的书籍​​推荐。在完成当前的任务之后,我会读它。 – emurad 2011-05-31 10:37:22