2012-03-06 5 views
8

Tôi đang làm việc trên một ứng dụng đường ray. sử dụng lốp đá quý làm trái phiếu cho elasticsearch. dưới dạng multistep Tôi muốn lập chỉ mục ở cuối quy trình.Tyre - Elasticsearch - làm cách nào để bỏ chỉ mục khi tạo?

có cách bỏ qua lập chỉ mục khi tạo.

đoán: Post.create (: indexing => false) hoặc bất cứ điều gì

hoặc trong cấu hình lốp nói: chỉ có chỉ số bài viết với thuộc tính: xuất bản thiết lập là true

Hope tôi làm bản thân mình rõ ràng. Cảm ơn trước cho câu trả lời của bạn.

Chúc mừng.

+0

ok tôi đoán tôi phát hiện ra bản thân mình ... don'tf nhìn vào timestamps xin vui lòng ... Trong mô hình được lập chỉ mục, bạn có thể thêm: after_save làm update_index nếu bố == true cuối Hy vọng nó sẽ giúp một số người lười biếng trong tương lai ok tôi đoán tôi phát hiện ra bản thân mình ... don'tf nhìn vào timestamps xin vui lòng ... Trong mô hình được lập chỉ mục, bạn có thể thêm: after_save làm update_index nếu bố == true cuối Hy vọng nó' sẽ giúp một số người lười biếng trong tương lai –

+2

Đừng "bao gồm Lốp xe :: Mô hình :: Gọi lại" trong mô hình của bạn nếu bạn sử dụng phương pháp này (cf. https://github.com/karmi/tire/issues/486). – danlee

+1

@Stan - hãy nhớ viết câu trả lời và đánh dấu là đã được chấp nhận. Không có gì sai khi trả lời câu hỏi của riêng bạn! –

Trả lời

0

lại: câu trả lời của bạn ở trên, after_save được gọi trên tạo quá tốt hơn, câu trả lời chung hơn cho câu hỏi của bạn (tôi nghĩ) sẽ đảm bảo không bao gồm Lốp :: Model :: Callbacks trong mẫu của bạn rồi

after_create :my_callback 

def my_callback 
    false 
end 
+0

chỉ cần cẩn thận ở đây vì after_save kích hoạt trên quá trình tạo, vì vậy nếu bạn đang sử dụng, bạn sẽ phải tìm ra cách để đảm bảo nó không kích hoạt khi tạo. – concept47