Tôi có một danh mục có danh sách các mục. Các mục có vị trí và danh mục có mối quan hệ has_many: items,: order => "position". Khi người dùng cập nhật giá trị vị trí, tôi muốn xem vị trí của nó. Vị trí của tôi là một phao để cho phép di chuyển giữa các số được làm tròn.đường ray - cách làm mới liên kết sau khi lưu
pos=item.category.items.map(&:id)
current_position=pos.index(id.to_i)
item.save # want to refresh the relationship here
pos_new=item.categoty.items.map(&:id)
# grabbing this since just accessing item isn't updated if positioning has changed
item_new=Item.find(id)
pos_new=item_new.category.items.map(&:id)
new_position=pos_new.index(id)
if current_position!=new_position
is_moved=true # sent back in JSON to propagate a dynamic change.
end
Các công trình trên nhưng dường như thực sự tiết lộ. Có cách nào để tôi nói về mục tiết kiệm rằng mối quan hệ thể loại cần phải được làm mới kể từ khi thứ tự có thể được thay đổi?
Ai vẫn đến câu trả lời này từ tìm kiếm (như tôi vừa làm): Hành vi này không còn được hỗ trợ bởi đường ray nữa. Bạn nhận được cảnh báo không dùng nữa. Cách mới cho các bộ sưu tập là sử dụng phương thức 'reload' trên proxy bộ sưu tập. – klaustopher
@klaustopher Cảm ơn. Đã cập nhật câu trả lời của tôi. –
"CẢNH BÁO KHÔNG TRẢ LỜI: Vượt qua một đối số để buộc liên kết tải lại hiện không còn được dùng nữa và sẽ bị xóa trong Rails 5.1. Vui lòng gọi' tải lại' trên đối tượng cha mẹ. (Gọi từ tại (pry): 2) " –
Dorian