0

가 언젠가 정말 데이터베이스에 뭔가를 확인해야카피 바라 has_content? ,

을 차단하지만 U = User.last으로 데이터베이스로 이동합니다 즉시 그 AJAX 요청 늘 완성하고 User.last에 기회가 있다면 - 내가 ' 오래된 기록을 찾는다. 내가 예를 들어 몇 가지 해결 방법을 필요 이것에 대한 그래서

,

어설 션 has_content? 'Success'do # 여기에서 데이터베이스에 액세스합니다. 끝

Google에서 데이터베이스로 이동할 수있는 성공 메시지 인 서버 응답과 이것이 표시인지 확인합니다. 어떻게해야합니까? 미리 감사드립니다.

답변

0

이 작업을 수행하기 위해 블록이 필요하지 않습니다. 콘텐츠 주장은 AJAX가 완료 확인되는 존재하는 내용을 기다립니다 그리고 당신은

assert_content 'Success' # will wait for 'Success' to appear 
u = User.last # won't happen until after 'Success has appeared and therefor the AJAX has completed' 

참고 또한 카피 바라의 사용이 (오히려 assert has_content? ...보다) assert_content를 제공하는 사용자를 확인할 수 있습니다. 일반적으로 Capybara 부울 메서드의 결과를 주장하는 것보다는 Capybara 제공 어설 션을 사용하는 것이 더 좋을 것입니다. 오류 메시지가 실패하면 훨씬 명확 해지기 때문입니다.