2010-03-25 151 views
11

爲了學習RoR,我已經閱讀了關於材料的其他幾個問題。但我的問題是我可以在沒有Ruby的情況下開始學習RoR嗎?爲了學習Ruby on Rails,我需要了解Ruby嗎?

很明顯,其他方式更好,但我寧願嘗試這種方式,如果它有意義(以某種方式)。或兩者並行學習...

+0

顯然這是一個開放式問題,我只能接受一個答案。因此,我選擇了電子我會嘗試。對不起,對其他人... – boutta 2010-03-25 09:50:09

+0

你可以安全地開始與鐵軌。之後不久Ruby就會進入戰鬥。 – Levi 2010-03-25 12:48:43

+0

重複的http://stackoverflow.com/questions/129991/should-i-start-with-ruby-or-ruby-on-rails – 2010-07-14 08:17:48

回答

43

好,因爲Ruby on Rails的是剛剛的Ruby寫在一個特殊的方式(讀:框架)是的,你會需要學習Ruby。

您需要了解Ruby的這些東西(除其他事項外):

  • 一切都是對象。一切。是的,即使2"foo"
  • 類繼承和它做什麼(TM)
  • 如何分辨類和實例方法之間的區別
  • 模塊,以及如何正確地使用它們(class_eval是你的朋友)
  • 人們寫寶石。使用它們。重新發明輪子對於學習來說是好的,而且重新發明它,因爲你認爲你的方法更好不是。

這些事Rails的:

  • 別打了約定。
  • 不是打擊公約。
  • 型號代碼放在模型中。
  • 控制器代碼進入控制器。
  • 查看代碼進入視圖。
  • 助手代碼進入助手。
  • 問問自己:「Rails是否有幫手?」。如果答案是「否」,請問其他人。答案很可能是「是」。

而且這些東西一般在學習:

  • 谷歌它。
  • 谷歌它再次。
  • 如果您所尋找的答案不在Google搜索距離範圍內,請以對那些可能知道答案的人(例如您已經完成此問題!)的方式進行制定。
  • 呼籲人們更大的動機。如何能幫助你,幫助他們?
  • 儘量不要過多的help vampire
  • 如果要求在IRC頻道,使用引擎收錄服務,如http://pastebin.comhttp://pastie.orghttp://gist.github.com
  • 有關要求在IRC第二條規則:「任何想法」不要問在你的問題後。你的問題應該已經自問了。

最後:愛你做什麼

+0

Thx爲偉大的答案。 – boutta 2010-03-25 10:17:15

+0

他對約定有什麼看法?這非常重要。 Rails是大多數(大多是非常仔細考慮)的慣例,如果你不知道它們,你會非常掙扎。最終你會知道足夠的考慮去對付他們,但你大多不會想要,因爲你會知道他們爲什麼在那裏。 – 2010-03-25 13:21:09

+0

「它做什麼」之後的(tm)是可怕的和俗氣的。立即編輯它! – horseyguy 2010-03-25 14:12:57

2

顯然:) ......如果你真的要養成良好的網絡應用程序...

但它也將是有趣的第一次讓你的手溼了一些回報率樣本使用RoR提供的內置功能的應用程序...然後學習詳細信息(這將需要Ruby的知識)

如果您避免學習Ruby(許多RoR開發人員),那麼您會發現自己停留在位置並通過外部代碼。最終你可能會因挫折而離開RoR。我見過很多這種情況。

3

人們曾經說過,你可以在不知道Ruby的情況下學習RoR(包括DHH,如果我沒有錯的話)。

但在我看來,如果你也瞭解Ruby,那麼你可以做的事情比不知道它多。當您調試或排除程序故障時,這些知識將非常有用。

所以我的建議是並行學習。

2

您可以。 RoR是一種特定於領域的語言,因爲爲您定義了很多內容,並將簡單的應用程序放在一起可以像遵循一個簡單的配方。當然,更好地學習正確的語言,但很多人不會。

Ruby For Rails book試圖在同一時間教你們,所以你可能想要考慮獲得那一個。我沒有看過,但我聽說它很好。

0

您需要了解兩者,如果您願意,RoR框架是一個組織和便利系統,它所組織的是您的Ruby代碼。

如果您在此之前編程這裏有最你的答案:
http://www.ruby-doc.org/core/
http://railsapi.com

+1

很好,很好地告訴人們「RTFM」,但有時人們不知道他們在找什麼。見:http://yehudakatz.com/2010/02/09/the-blind-men-and-the-elephant-a-story-of-noobs/ – 2010-03-25 09:59:55

+0

是的,我已經編程,但知道(幾乎)沒有關於鐵軌或紅寶石這一點幫助不了我。首先,我需要獲得一些語言介紹,我已經在積極閱讀。所以這個答案不回答這個問題,恕我直言。 – boutta 2010-03-25 10:20:21

+0

@瑞安:偉大的鏈接 – boutta 2010-03-25 10:25:56

1

你問的問題有點含糊。具體來說,你可能會問「我可以在不知道Ruby的情況下學習Rails嗎?」,或者「我可以學習Rails而不必學習Ruby嗎?」。

對於後面的問題的答案可能不是,如果你想特別適用於它。在不瞭解Ruby的情況下,很難充分利用Rails的強大功能。

第一個問題的答案肯定是肯定的。雖然首先了解Ruby會讓學習Rails更快更簡單,但您可以輕鬆地同時學習兩者。這實際上是我學習Ruby/Rails的過程,通過訪問我必須首先在Java中實現的站點並使用Rails重新實現它。

+0

thx的洞察力。 – boutta 2010-03-25 21:02:16