3

我已經在PHP和MySQL中製作網站近十年了,但我從未使用過框架。這意味着我已經手工編碼了一切,我知道代碼如何工作並與其自身交互。Ruby on Rails命令和約定 - 它們是什麼?

想要擴展我的視野我選擇了Ruby on Rails來學習另一種Web語言,框架,數據庫等。我一直在關注Ruby on Rails教程,它現在進行得如此順利,但是什麼讓我感到困惑。它感覺的黑匣子。有太多的魔法,而且事情發生就是因爲它。這個「魔術」的例子包括,如果我突然添加到路線文件「資源:用戶」,我有像/ new/user/1/user/1/edit等無限可能的鏈接。或者如果我想添加一列到我的數據庫表我必須在控制檯「rails整合_to_table value:type」做這樣的事情,然後我必須「耙」分貝。

我已經能夠按照教程做東西,但我不明白我在做什麼。我知道它的一部分將通過經驗來實現,但我想知道Rails如何以及爲什麼要這樣做。

什麼是一些很好的資源,在線和書籍,我可以在哪裏學習RoR的工作原理?

+2

約定優於配置的規則有 – apneadiving 2012-03-08 14:46:59

+0

紅寶石的語言看似神奇的一點,因爲它的靈活性,這樣的Ruby-on-Rails的魔術有些Ruby中的魔法造成的。學習(真的)ruby會讓你更好地理解RoR(或其他Ruby框架)。 – Valentin 2012-03-08 15:06:45

+0

還參見[Rails的約定]這個問題(http://stackoverflow.com/questions/3554054/what-are-all-the-conventions-for-ruby-on-rails) – GuruM 2014-04-06 06:03:56

回答

5

有很多的內部,它需要一段時間才能知道所有的魔法是什麼,但你會到達那裏最終,如果你堅持下去。

的「聖經」的軌道上發展紅寶石http://pragprog.com/book/rails4/agile-web-development-with-rails

的「聖經」爲Ruby語言本身是「鎬」的書,從Ruby語言作者本人的貢獻。 http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177

瑞安貝茨已經完成了數百個免費的劇本,他以一個非常棒的方法,有效地使用框架而聞名。每一個好的紅寶石都很高。 http://railscasts.com/

許多人認爲「殭屍」課程非常好。在
http://www.rormd.com/linker/groups/4


http://www.rormd.com/linker/groups/1

和20+的網站爲紅寶石當你學習的好IDE可以:http://railsforzombies.org/

最後,我會提出我自己的書籤網站,擁有超過50個站點的軌幫助很多。我使用了eclipse,然後是netbeans,然後是rubyMine(來自我們在IntelliJ的朋友,因爲他們的java編輯器而聞名)。rubyMine具有最多的功能。它不是免費的,但價格是24-75美元不等(取決於特殊優惠)這是非常值得的成本。

3

這是對新手來說,如果他們想要學習Ruby on Rails的,甚至不知道紅寶石。我只能說試試這個第一和跳等書。

只需點擊下方鏈接,看看有兩個教程可用於Ruby on Rails 3.0和3。2

Ruby on Rails Tutorials link for Rails 3.0 and 3.2

你不要求紅寶石背景

即使我喜歡Head First Rails這些教程,這本書也是很好的理解 - 只要軌道(無TDB),所以初步可以設置在軌道環境和之後跳上教程鏈接

+1

這實際上是我一直在關注的教程,但發現有太多「魔力」。 – 2012-03-08 19:52:18

1

我會說,使用術語「黑盒」和「魔術」是一個相當不足,甚至可能有點貶低。我相信你所感受到的差異來自於這樣的事實,即Ruby是一種與PHP完全不同的語言,並且在PHP中用Ruby編寫高級抽象和約定更容易。 Rails充滿了這些抽象和約定,這些可能會讓人困惑,特別是如果你對他們內心的工作沒有興趣。

也許這不是你應該閱讀的Rails。我想說你應該首先理解Ruby。爲了使「黑盒子」的感覺消失,必須對它的塊,對象模型以及它的mixins有一個很好的理解。

用現代編程語言編程並不是什麼黑魔法。 Debugging Fortran code by printing the code and using crystals over the papersheets to find the bugs was.