Như được mô tả trong this article, tôi đang sử dụng các liên kết tự động trong các đồ đạc. Ví dụ: nếu đối tượng vùng có id quốc gia, thay vì thực hiện "country_id": 1, tôi thực hiện "country": "USA". "USA" là nhãn trong tệp countries.yml của tôi, vì vậy đồ đạc biết cách xử lý vấn đề này. Tuy nhiên, điều này chỉ hoạt động khi bạn không chỉ định giá trị ID cho đối tượng quốc gia. Vì vậy, tôi không thể chỉ định ID của Hoa Kỳ là 1. Nhưng nếu tôi không chỉ định nó là 1, nó kết thúc lên được một số giá trị lớn 8974343 ... đó là kinda lạ. Có cách nào để có được đồ đạc để tự động tạo id không phải là siêu cao? .... hay là ok?Các liên kết tự động trong các thiết bị ruby trên đường ray
18
A
Trả lời
21
Đọc tài liệu API, đây chính xác là cách các thiết bị được tạo tự động hoạt động - nếu bạn muốn có một giá trị ID cụ thể cho lịch thi đấu, bạn có thể chỉ cần gán nó cho chính mình.
Nếu không, tốt, từ các tài liệu API:
The generated ID for a given label is constant, so we can discover any fixture‘s ID without loading anything, as long as we know the label.
3
id của trận đấu đến trực tiếp từ băm tên của nó (đó là cách "chúng ta có thể khám phá ID của bất kỳ trận đấu mà không cần tải bất cứ điều gì, miễn là chúng ta biết nhãn ")
23
Đây là cách bạn nhận được id được tạo tự động của nhãn lịch thi đấu.
Fixtures.identify(:reginald)
13
Vì tôi không có đủ uy tín để bình luận, đây là Rails thực tế 4.1 tài liệu:
Dưới Fixture nhãn nội suy:
monkey_id: <%= ActiveRecord::FixtureSet.identify(:reginald) %>
pirate_id: <%= ActiveRecord::FixtureSet.identify(:george) %>
1
kiểm tra tự động để thực thi tính toàn vẹn của lịch thi đấu
class FixtureIntegrityTest < ActiveSupport::TestCase
context "fixture integrity" do
should "work" do
fixtures = Dir["test/fixtures/*.yml"].map do |file|
[file, File.basename(file).sub(/\..*/, "").singularize, YAML.load(ERB.new(File.read(file)).result)]
end
failures = fixtures.reject(&:last).map { |file,*| "#{file} is empty!"}
failures = failures.presence || fixtures.map do |_, klass, content|
content.select{ |_,fixture| fixture["id"] }.map do |name, _|
fixtures.map do |file, _, content|
content.select { |_,fixture| fixture[klass] == name }.map do |_, fixture|
"#{file} uses #{klass}: #{name}, but should use the id!"
end
end
end
end.flatten.compact
assert_equal [], failures
end
end
end
Các vấn đề liên quan
- 1. Các liên kết và biểu mẫu đường ray
- 2. Thứ tự đường ray theo mô hình được liên kết
- 3. Ruby - ray - làm thế nào để tạo các siêu liên kết tự động cho các url trong văn bản/chuỗi được hiển thị trên màn hình?
- 4. Mahout Plugin cho ruby trên đường ray
- 5. Tự động kết nối với các thiết bị Bluetooth đã ghép nối trên Android
- 6. : thuộc tính tự động của các liên kết has_many bị hỏng trong Rails 2.3.4?
- 7. đường ray đổi tên liên kết
- 8. nội dung động với ajax (ruby trên đường ray)
- 9. yêu cầu POST trong đường ray với siêu liên kết
- 10. Đường ray: HABTM - tìm tất cả các bản ghi không có liên kết
- 11. ruby tốt nhất trên đường ray cms
- 12. tuyến đường trong đường ray - xóa các hành động khi thiết lập tài nguyên
- 13. làm thế nào để nhúng một thiết bị đầu cuối bash linux bên trong ruby trên trang web đường ray?
- 14. Làm thế nào để tự động gọi các tuyến đường trợ giúp trong đường ray?
- 15. Cách tìm các liên kết bị hỏng trên trang web
- 16. Đường ray không theo liên kết
- 17. Đường ray tham gia thông qua liên kết
- 18. Tích hợp django và RoR (ruby trên đường ray)
- 19. jpg loại trực tiếp cho các dạng phức tạp trong ruby trên đường ray
- 20. Tiền tố đường dẫn chuẩn bị cho tất cả các tuyến đường ray
- 21. Tạo trường tăng tự động trong đường ray
- 22. Đường viền bị đứt trên liên kết xuất hiện rắn
- 23. Làm thế nào để xóa các tập tin tạm thời tự động trong ruby-ray?
- 24. Làm thế nào để có được danh sách các bộ điều khiển và hành động trong ruby trên đường ray?
- 25. tweet liên kết này trong đường ray ứng dụng
- 26. tràn: tự động không hoạt động trên các thiết bị cảm ứng (iOS)
- 27. Bố cục lồng nhau trong ruby trên đường ray
- 28. Kết nối Bluetooth tự động với các thiết bị được ghép nối
- 29. hộp tổ hợp mở tự động trên trình duyệt di động cho các thiết bị Android
- 30. Không thể nhận tọa độ của các liên lạc trong Javascript trên các thiết bị Android
Tại sao bạn nghĩ mọi người chấp nhận câu trả lời nhưng không bỏ phiếu cho họ? –