Tôi chắc chắn rằng tôi đã thấy một giải pháp thanh lịch cho điều này trước đây, nhưng tôi không thể tìm thấy nó:Thanh lịch xử lý các giá trị trống trong một giá trị băm lồng nhau
Tôi có bộ điều khiển ray có thể-hoặc-có thể -không có phần tử băm sau:
myhash[:parent_field]
Bên trong trường chính đó, phần tử con cũng có thể để trống. Tôi hiện đang kiểm tra thông qua phương pháp (rất xấu xí):
if (!myhash[:parent_field] || !myhash[:parent_field][:child_field] || myhash[:parent_field][:child_field].blank?)
Công trình nào, nhưng tôi chắc chắn - phải có cách thanh lịch hơn. Chỉ cần nhắc lại:
- myhash [: parent_field] có thể hoặc không thể tồn tại
- Nếu nó không tồn tại, myhash [: parent_field] [: child_field] có thể có hoặc không tồn tại
- Nếu tồn tại, nó có thể hoặc không được để trống.
Lưu ý rằng điều này sẽ làm tăng ngoại lệ nếu phím ': parent' không tồn tại. –
@AndrewMarshall Không, không. Đọc về những gì tìm nạp. – d11wtq
Xin lỗi, không thấy đối số thứ hai ở đó. Nó sẽ nếu không có, mặc dù. –