Tôi có một bảng, với nhân rộng hợp nhất trên nó (SQL Server 2005). Có một cột rowguid. Tôi muốn RoR bỏ qua cột này, và không chèn vào cột này, và không bao gồm điều này khi tạo câu lệnh INSERT.Làm thế nào để nói ruby trên đường ray, không phải để chèn vào một cột?
Trả lời
Xem this ticket đề xuất bản vá cho đường ray. Bạn có thể thêm đoạn mã sau vào một tập tin mới /config/initializers/hidden_columns.rb
:
require "activerecord"
class << ActiveRecord::Base
def hidden_columns(*hidden)
write_inheritable_array("hidden_column", hidden.collect(&:to_s))
end
def columns_hidden
read_inheritable_attribute("hidden_column") || []
end
def columns
unless defined?(@columns) && @columns
@columns = connection.columns(table_name, "#{name} Columns").delete_if {|c| columns_hidden.member?(c.name) }
@columns.each {|column| column.primary = column.name == primary_key}
end
@columns
end
end
Sau đó, bạn có thể viết:
hidden_columns :rowguid
trong các mô hình có liên quan.
trả lời là tương tự như trên
Phương pháp cần phải được định nghĩa là một phương pháp học http://gist.github.com/504745
Tuyệt vời là bạn đã tự khắc phục. "Trên" thay đổi mặc dù, vì vậy tôi sửa đổi câu trả lời của tôi. – giraff
Một lựa chọn khác, sẽ làm cho một cái nhìn mà giấu đi những cột (s). Tôi đã làm điều này khi bolting một ứng dụng đường ray lên một DB kế thừa trong SQL Server. Bằng cách này bạn không cần phải gây rối với/chống lại đường ray và có thể ẩn bất kỳ cột nào bạn muốn một cách dễ dàng ...
một cách dễ dàng nhất và đơn giản nhất để đi theo ý kiến của tôi. tôi ước gì tôi đã thấy trong những năm trước đây khi tham gia vào một dự án di sản – FireDragon
- 1. Làm thế nào để làm một hình thức phi mô hình trong ruby trên đường ray?
- 2. làm thế nào để xây dựng một nhà cung cấp mở với ruby trên đường ray
- 3. Làm thế nào để thay đổi tuyến đường trong ruby trên đường ray?
- 4. Làm thế nào để bạn áp dụng một miếng vá lên ruby trên đường ray?
- 5. Làm thế nào để tải lên một tập tin trong ruby trên đường ray?
- 6. Làm thế nào để gỡ lỗi ruby trên đường ray trong eclipse aptana plugin
- 7. làm thế nào để bạn nói không bằng ruby?
- 8. Làm cách nào để sao chép Cơ sở dữ liệu mySQL bằng ruby trên đường ray?
- 9. Làm thế nào tôi có thể sử dụng đường ray helper "distance_of_time_in_words" trong ruby cũ đồng bằng (không đường ray)
- 10. Làm thế nào để bạn xóa một mục duy nhất từ một ruby trên phiên đường ray?
- 11. Làm cách nào để chèn một cột vào tập dữ liệu giữa hai cột hiện tại?
- 12. ruby trên đường ray thêm cột sau tên cột cụ thể
- 13. ruby tốt nhất trên đường ray cms
- 14. làm cách nào để chèn cột vào một chỉ mục cột cụ thể trong gấu trúc?
- 15. làm thế nào để chèn một (BOOL *) vào NSMutableDictionary
- 16. SQL-Làm thế nào để chèn hàng mà không tự động tăng một cột ID?
- 17. Làm cách nào để sử dụng CSS với ứng dụng ruby trên đường ray?
- 18. 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?
- 19. Làm thế nào để chọn một mục ngẫu nhiên từ một mảng trong ruby (không đường ray)
- 20. Mahout Plugin cho ruby trên đường ray
- 21. Làm thế nào để nội tuyến css khi sử dụng đường ray tài sản đường ray
- 22. Làm thế nào để sắp xếp theo cột created_at của hiệp hội trong đường ray?
- 23. Làm cách nào để sắp xếp trong ruby / đường ray trên hai trường?
- 24. Cách chèn dấu thời gian vào cơ sở dữ liệu đường ray-cột
- 25. Làm thế nào để triển khai một ứng dụng đường ray trên heroku từ travis-ci?
- 26. Làm thế nào để làm cho đường ray f.select chọn
- 27. Làm thế nào để gỡ bỏ hoàn toàn đường ray, ruby và rubygem?
- 28. Làm thế nào để chèn một giá trị không đổi vào một cột bằng cách sử dụng ASP.Net SqlBulkCopy
- 29. Làm cách nào để chuyển đổi giữa đường ray 3.2.13 và đường ray 4.0.0?
- 30. Làm thế nào là ruby trên đường ray has_many (và tương tự) được thực hiện?
Cảm ơn, nhưng điều này không hiệu quả. Bằng cách nào đó, RoR không tìm thấy phương thức hidden_columns. Tôi đang getti một phương pháp không xác định. – Hibri
Nó sẽ hoạt động ngay bây giờ. – giraff