Dưới đây là một số mã sản xuất của tôi (tôi đã phải buộc ngắt dòng):Có find_or_create_by_ nhận mã băm trong Rails không?
task = Task.find_or_create_by_username_and_timestamp_and_des \
cription_and_driver_spec_and_driver_spec_origin(username,tim \
estamp,description,driver_spec,driver_spec_origin)
Vâng, tôi đang cố gắng để tìm hoặc tạo một đối tượng duy nhất ActiveRecord::Base
. Nhưng ở dạng hiện tại nó rất xấu. Thay vào đó, tôi muốn sử dụng một cái gì đó như thế này:
task = Task.SOME_METHOD :username => username, :timestamp => timestamp ...
Tôi biết về find_by_something key=>value
, nhưng nó không phải là một tùy chọn ở đây. Tôi cần tất cả các giá trị là duy nhất. Có một phương pháp sẽ làm tương tự như find_or_create_by
, nhưng lấy một băm làm đầu vào? Hoặc cái gì khác với ngữ nghĩa similat?
Yea, bạn chắc chắn có thể thêm nó đến AR :: Base, nhưng tôi thấy có một số hành vi mô hình cụ thể, giống như bạn có thể muốn chọn các cột cụ thể duy nhất để thực hiện tìm kiếm. Nhưng bạn luôn có thể ghi đè lên nó. – wuputah