내보기에서 간단한 진행률 표시 줄/진행 상태를 트리거하려는 컨트롤러에서 작업을 수행하는 데 시간이 있습니다. 내 컨트롤러에서컨트롤러에서 동적으로보기 변경 - 레일 스레딩을 사용하는 진행 막대
가 나는 이중 오류 렌더링 발생하기 때문에 나는 거기에 렌더링 넣을 수 없습니다
threads = []
total.times do |x|
Thread.new {
the_time_taking_task(x)
#Something here to trigger the progressbar in the view
}
end
threads.each { |aThread| aThread.join }
render :action => 'some_action'
같은 것을 가지고있다. 는 내가 렌더링 저기 돌아 퍼팅 시도하고 나는 내 컨트롤러보고 얘기 할 수있는 유일한 방법이 될 것 같다 나는 렌더링 노력하고 있어요 'return can't jump across threads
'오류
얻었다. 내 접근 방식이 잘못 되었나요?
는 전화
<div style="width: <%= (percent_val)%>px; ">
하시기 바랍니다 조언을 통해 진행 막대 폭을 적용 뷰에서이 같은 간단한 일을 할 것인가.
장기 실행 작업은 백그라운드 프로세스 (비동기 및 비 차단)로 실행해야합니다. @shingara는 delayed_job 또는 그와 비슷한 것을 사용한다고 말했습니다. delayed_job은 구현하기가 훨씬 쉽다는 것을 알았습니다. delayed_job에서 railscasts를 확인하십시오. –