2010-03-25 25 views
11

Tôi đã đọc một số câu hỏi khác về tài liệu để tìm hiểu về RoR. Nhưng câu hỏi của tôi là tôi có thể bắt đầu học RoR mà không có Ruby không?Tôi có cần biết Ruby để học Ruby on Rails không?

Rõ ràng là cách khác xung quanh tốt hơn, nhưng tôi muốn thử cách này nếu nó có ý nghĩa (bằng cách nào đó). Hoặc tìm hiểu cả hai song song ...

+0

Rõ ràng đây là loại câu hỏi mở và tôi chỉ có thể chấp nhận một câu trả lời. Vì vậy, tôi đã chọn eI'm sẽ thử. Xin lỗi cho những người khác ... – boutta

+0

Bạn có thể bắt đầu an toàn với đường ray. Ruby sẽ sớm đi vào cuộc xung đột. – Levi

+0

Bản sao của http://stackoverflow.com/questions/129991/should-i-start-with-ruby-or-ruby-on-rails –

Trả lời

43

Vâng, cho rằng Ruby on Rails chỉ là của Ruby viết theo một cách đặc biệt (đọc: khung) có bạn sẽ cần phải học Ruby.

Bạn sẽ cần phải tìm hiểu những điều về Ruby (trong số những thứ khác):

  • Tất cả mọi thứ là một đối tượng. Mọi điều. Vâng, thậm chí 2"foo"
  • lớp thừa kế và những gì nó không (tm)
  • Làm thế nào để biết sự khác biệt giữa các phương pháp lớp và dụ
  • Modules và làm thế nào để sử dụng chúng một cách chính xác (class_eval là bạn của bạn)
  • Mọi người viết đá quý. Sử dụng chúng. Tái phát minh ra bánh xe là tốt và dandy cho việc học tập nhưng tái phát minh ra nó bởi vì bạn nghĩ rằng phương pháp của bạn là tốt hơn là không.

Và những điều về Rails:

  • Đừng chống lại ước.
  • Làm không quy ước chiến đấu.
  • Mã mẫu đi vào mô hình.
  • Mã bộ điều khiển nằm trong bộ điều khiển.
  • Mã xem trong chế độ xem.
  • Mã trợ giúp nằm trong trình trợ giúp.
  • Tự hỏi "Rails có người trợ giúp không?". Nếu câu trả lời là "Không", hãy hỏi người khác. Câu trả lời có thể là "Có".

Và những điều này nói chung về học tập:

  • Google nó.
  • Google lại lần nữa.
  • Nếu câu trả lời bạn tìm kiếm không nằm trong khoảng cách Googling, hãy xây dựng nó theo cách phù hợp với những người có thể biết câu trả lời (như bạn đã làm với câu hỏi này!)
  • Khiếu nại động cơ lớn hơn của mọi người. Làm thế nào có thể giúp bạn, giúp họ?
  • Cố gắng không quá nhiều của help vampire.
  • Nếu hỏi trong một kênh IRC, sử dụng dịch vụ pastebin như http://pastebin.com, http://pastie.org hoặc http://gist.github.com
  • quy tắc thứ hai về đề nghị trong IRC: "bất kỳ ý tưởng" Đừng hỏi sau câu hỏi của bạn. Câu hỏi của bạn đã tự hỏi điều này.

Và cuối cùng: Yêu thích những gì bạn làm.

+0

Thx để có câu trả lời tuyệt vời. – boutta

+0

Những gì anh ta nói về các công ước? Nó thực sự quan trọng. Rails là một quy ước seething (chủ yếu là rất cẩn thận) và bạn sẽ thực sự đấu tranh nếu bạn không nhận thức được chúng. Cuối cùng bạn sẽ biết đủ để cân nhắc việc chống lại họ, nhưng bạn hầu như không muốn bởi vì bạn sẽ biết tại sao họ lại ở đó. –

+0

(tm) sau "Những gì nó có" là khủng khiếp và cheesy. Chỉnh sửa nó ra xin, ngay lập tức! – horseyguy

2

Rõ ràng :) ... nếu bạn thực sự muốn phát triển các ứng dụng web tốt ...

Nhưng nó cũng sẽ rất thú vị đầu tiên được bàn tay của bạn ướt với một số mẫu ROR các ứng dụng sử dụng các tính năng sẵn có mà RoR cung cấp ... và sau đó tìm hiểu chi tiết (yêu cầu kiến ​​thức về Ruby)

Nếu bạn tránh học Ruby, (nhiều nhà phát triển RoR làm) ... thì bạn sẽ thấy mình bị kẹt ở vị trí và đi qua một mã người ngoài hành tinh. Và cuối cùng bạn có thể để RoR thất vọng. Tôi đã thấy nhiều trường hợp như vậy.

3

Mọi người thường nói rằng bạn có thể học RoR mà không biết Ruby (bao gồm DHH, nếu tôi không sai).

Nhưng theo ý kiến ​​của tôi, nếu bạn cũng biết Ruby, bạn có thể làm nhiều thứ hơn là không biết. Và kiến ​​thức sẽ rất hữu ích khi bạn gỡ lỗi hoặc khắc phục sự cố các chương trình của bạn.

Vì vậy, đề xuất của tôi là tìm hiểu cả hai song song.

2

Bạn có thể. RoR là một cách ngôn ngữ cụ thể của miền, vì rất nhiều được định nghĩa cho bạn và đặt một ứng dụng đơn giản với nhau có thể giống như sau một công thức đơn giản. Tất nhiên nó sẽ tốt hơn để học ngôn ngữ đúng cách, nhưng nhiều người thì không.

Ruby For Rails book cố gắng dạy cho bạn cả hai cùng một lúc, vì vậy bạn có thể muốn xem xét việc thực hiện điều đó. Tôi chưa đọc nhưng tôi nghe nó khá hay.

0

Bạn cần biết cả hai, Khung công tác RoR là một hệ thống tổ chức và tiện lợi nếu bạn muốn, những gì nó tổ chức là mã ruby ​​của bạn.

Nếu bạn đã được lập trình trước thì đây là hầu hết các câu trả lời của bạn:
http://www.ruby-doc.org/core/
http://railsapi.com

+1

Tất cả tốt và tốt để nói cho mọi người biết "RTFM" nhưng đôi khi mọi người không biết họ đang tìm gì. Xem: http://yehudakatz.com/2010/02/09/the-blind-men-and-the-elephant-a-story-of-noobs/ –

+0

Có tôi đã lập trình trước đây, nhưng biết (gần) không có gì về đường ray hoặc ruby ​​điều này không giúp tôi chút ít. Đầu tiên tôi sẽ cần giới thiệu một số ngôn ngữ, mà tôi đã tích cực đọc. Vì vậy, câu trả lời này không trả lời câu hỏi, IMHO. – boutta

+0

@Ryan: liên kết tuyệt vời – boutta

1

Câu hỏi bạn đặt ra hơi mơ hồ. Cụ thể, bạn có thể hỏi "Tôi có thể học Rails mà không biết Ruby lần đầu không?", Hoặc "Tôi có thể học Rails mà không cần phải học Ruby không?".

Câu trả lời cho câu hỏi sau có lẽ là không, nếu bạn muốn đặc biệt hoạt động với nó. Không biết Ruby, sẽ rất khó để tận dụng được sức mạnh của Rails.

Câu trả lời cho câu hỏi đầu tiên chắc chắn là có. Trong khi biết Ruby đầu tiên sẽ làm cho việc học Rails nhanh hơn/dễ dàng hơn, bạn có thể dễ dàng học cả hai cùng một lúc. Đó thực sự là cách tôi đã học Ruby/Rails, bằng cách lấy một trang web mà tôi đã phải thực hiện đầu tiên trong Java và triển khai lại nó bằng cách sử dụng Rails.

+0

thx cho thông tin chi tiết. – boutta