2008-10-15 4 views
4

link_to_remote를 통해로드 된 페이지를 다시로드 할 수 있습니까?
link_to_remote 대 render

def create 
if captchas_verified 
    do_something 
else 
    render :action=>'new' 
end 

을하지만 보안 문자가 잘못되면 새 템플릿의 내부 양식을 렌더링하지 않습니다 내 컨트롤러에이 일을하고 있습니다. 그건 그렇고, 웹 서버 로그에 templades가 렌더링 된 것을 보여줍니다.

감사합니다. 오늘 난에 렌더링 변경 :

업데이트

render(:update) { |page| page.call 'location.reload' } 

하지만 나를 link_to_remote

업데이트] 2를 통해 열린이 아닌 페이지 link_to_remote를 호출 한 페이지를 업데이트한다 : 내가 사용하는 고정 page.replace_html "mydiv는": 부분 =>이 같은 "새로운" 대신 의 page.call 'location.reload'

답변

4

당신은 오히려 render :action보다 render :update해야합니다.

저는 항상 이런 종류의 일을합니다. jdl의 응답과 유사하게 페이지를 렌더링하는 인라인 rjs (올바른 용어인지 여부는 알 수 없음)를 사용할 수 있습니다.

render(:update) do |page| 
    page.replace_html("div_to_update", :partial => "name_of_template", :object => @object) 
    page << "alert('javascript can be inserted here as well')" 
end 
1

뭔가 당신이 원하는해야한다.

render :update do |page| page << 'window.location.reload()' end 
관련 문제