Có một thuộc tính năng động tiện dụng trong hoạt động kỷ lục gọi find_or_create_by:Rails find_or_create bởi nhiều hơn một thuộc tính?
Model.find_or_create_by_<attribute>(:<attribute> => "")
Nhưng nếu tôi cần phải find_or_create bởi nhiều hơn một thuộc tính?
Giả sử tôi có một mô hình để xử lý mối quan hệ M: M giữa Nhóm và Thành viên được gọi là GroupMember. Tôi có thể có nhiều trường hợp trong đó member_id = 4, nhưng tôi không bao giờ muốn nhiều hơn một lần trong đó member_id = 4 và group_id = 7. Tôi đang cố gắng tìm ra nếu có thể làm như sau:
GroupMember.find_or_create(:member_id => 4, :group_id => 7)
Tôi nhận ra có thể có những cách tốt hơn để xử lý việc này, nhưng tôi thích sự tiện lợi của ý tưởng về find_or_create.
Cảm ơn Rails 4 cập nhật. Tôi thích nó;) – tybro0103
Bạn cũng có thể thích https://github.com/seamusabshere/upsert - đối số đầu tiên là một băm thuộc tính được sử dụng để tìm hoặc tạo bản ghi –
Thật hữu ích khi lưu ý rằng khởi tạo cuộc gọi tạo() thay vì new() có thể được gọi trong trường hợp first_or_create –