2011-05-31 75 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