Tôi bắt đầu học Ruby on Rails cách đây vài tuần, và tôi thấy dễ dàng hơn khi có được thứ gì đó và học theo cách của mình bằng cách không sử dụng giàn giáo, và tạo các phần khác nhau từ dòng lệnh (hoặc macro trong một IDE). Tuy nhiên, từ những gì tôi có thể nói, khi bạn sử dụng giàn giáo để tạo ra mọi thứ, bạn nghĩ nó tạo ra một "tài nguyên", vì vậy bạn sẽ chỉ tạo một tài nguyên tại một thời điểm, sau đó thêm vào các mối quan hệ bằng tay sau.
Tuy nhiên, lệnh tạo mô hình có thể tạo các mối quan hệ này cho bạn. Giả sử bạn đã sử dụng giàn giáo để tạo tài nguyên Tỷ lệ.
Sau đó, bạn có thể làm
ruby script/generate model GuitarString name:string scale:references
Quy mô: tài liệu tham khảo sẽ tạo ra một belongs_to :scale
trên mô hình GuitarString của bạn, nhưng bạn sẽ cần phải thêm has_many: guitarstrings để mô hình quy mô của bạn.
Lệnh tạo mô hình cũng tạo tập lệnh di chuyển cho bạn và các tệp khác cần thiết (đồ đạc), tương tự như giàn giáo, nhưng không tự động tạo chế độ xem hoặc bộ điều khiển hoặc bất kỳ thứ gì.
EDIT:
này thường là cách bạn sẽ muốn làm những việc - sử dụng tạo/mô hình hoặc tạo/xem hoặc tạo/điều khiển hoặc tạo/chuyển đổi. Hầu hết các nhà phát triển Rails không sử dụng giàn giáo, vì "một kích thước phù hợp với tất cả" hiếm khi phù hợp với mọi thứ một cách hoàn hảo. Tuy nhiên, hầu hết các nhà phát triển đường ray đều sử dụng các lệnh tạo mà tôi đã đề cập - nó tiết kiệm thời gian với việc tạo các trình trợ giúp và đồ đạc bằng tay, và nó cung cấp cho mỗi tệp nó tạo ra một mẫu cơ bản mà bạn có thể thêm vào.
Một số Ruby IDE giống như RubyMine của JetBrain có các macro thực chất thực hiện các lệnh này. Trong RubyMine bạn có thể thực hiện ctrl + alt + g, sau đó nhập một khóa khác tương ứng với những gì bạn muốn tạo.
Mối quan hệ thuộc tính có thể được tạo bằng cách sử dụng từ "tham chiếu", như tôi đã đề cập. Những người khác bạn sẽ thêm vào bằng tay.
Nguồn
2010-04-04 17:23:41
bản sao có thể có của http://stackoverflow.com/questions/502119/rails-scaffold-to-automatically-do-one-to-many-relationship – hobodave
@hobodave: silimar, vâng. Anh ấy hỏi "nó có thể được thực hiện" và tôi hỏi "đây có phải là cách để làm điều đó, nếu không, làm thế nào?" – Simon
Bạn có thể muốn kiểm tra chỉnh sửa trong câu trả lời của tôi. –