2014-08-21 1 views
0

주어진 디렉토리의 업로드 된 파일을 기반으로 무작위로 선택된 "카드"를 사용하는 Rails 앱을 개발했습니다. 이 카드 이름은 적절한 JS 및 CSS 매니페스트 파일을로드 할뿐만 아니라 템플리트 내에 적절한 내용을로드하는 데 사용됩니다.전체 페이지 새로 고침을하지 않고 자산 링크 헬퍼 다시로드

.mid div와 head 태그에서 무작위로 선택한 새로운 카드를 찾고 해당 코드를 새로 고칠 수있는 버튼을 만들려고합니다. 그러나 후자를 발행했습니다.

카드를 성공적으로 새로 고침하기 위해이 다음 줄을 사용하고 있지만 머리 부분을 타겟으로 할 때 동일한 접근 방식이 작동하지 않는 것처럼 보입니다. 부분적으로 링크 도우미를 다시 렌더링 할 때 발생합니다.

$('.mid').load('/public/shuffle'); 

콘텐츠를 셔플하기 위해 컨트롤러에서 호출하는 방법은 다음과 같습니다.

def shuffle 
    @card = Dir['app/views/cards/*/'].shuffle.first 
    if params[:card] 
     @title = params[:card] 
    else 
     @title = Dir[@card+'*.html.erb'].first.gsub("app/views/cards/", "").gsub("/_index.html.erb", "") 
    end 
    render partial: '/cards/'[email protected]+'/index' 
end 

답변

0

질문이 맞는지는 모르겠지만 일반적으로 컨트롤러는 내용을 배치 할 수있는 출력을 포함하는 레이아웃을 렌더링합니다. 따라서 메인 레이아웃은 항상 바뀌지 않지만 컨트롤러 (일반적으로 바디)에서 제공되는 동적 컨텐츠는 제공된 입력에 맞게 조정됩니다. 레이아웃이 정적으로 렌더링 되었기 때문에 중간 div가 변경되지만 머리가 맞지 않는 이유가 될 수 있습니다.