2010-03-08 2 views
0

저는 Rails 3 베타로 게임을 시작했고 평소 선발 프로젝트를하려고합니다. 간단한 프로젝트 목록을 만들지 만 앱의 탐색을 위해 ajax 요청을 사용합니다.Ruby on Rails 3 Beta : ajax 요청시 html.erb보기로 응답 할 수 없습니다. 해결 방법이 있습니까?

# GET /projects/new 
    # GET /projects/new.xml 
    def new 
    @project = Project.new 

    respond_to do |format| 
     format.html # new.html.erb 
     format.js { render :layout => false } 
     format.xml { render :xml => @project } 
    end 
    end 

을 주목 format.js 라인 : 레일 3 년 내 일반적인 코드는 기본 골격이 작동하지 않습니다, 나는

ActionView:MissingTemplate (Missing template projects/new with {:format=>[:js]} 

가 여기 내 프로젝트 컨트롤러에서 내 SNIPPIT입니다받을 수 있습니다. 내 자바 스크립트에 대한 Mootools 라이브러리를 사용하고 레일 3이 제공하는 새로운 unobtursive 후크를 아직 시도하지 않았으므로 여전히 손으로 씁니다. 다음은 페이지에서 '새'링크를 클릭하면 실행되는 자바 스크립트 요청입니다. Mootools에서 Request.HTML 업데이트 속성은 HTML에있는 div를 id 'main'으로 업데이트합니다.

a.addEvents({ 
    'click': function(e) { 
     e.stop(); 
     console.log("Click for '" + a.get('href') + "'"); 

     new Request.HTML({ 
      url: a.get('href'), 
      method: 'get', 
      update: 'main', 
      onRequest: function() {}, 
      onSuccess: function() {}, 
      onFailure: function(xhr) {}, 
      onComplete: function() {} 
     }).send(); 
    } 
}); 

그래서 링크를 클릭하면 무슨 일이 일어나고 있는지, 컨트롤러가 내가이없는 new.js.erb 파일로 JS 호출에 응답하려고합니다. 이전 버전의 레일에서는 이것이 사실이 아니며 new.html.erb로 자동 응답합니다. 컨트롤러에서 format.js 줄을 제거하면 응답하지만 javascript를 통해 호출 할 때 응답 레이아웃을 원하지 않습니다.

Rails 3 베타에서 변경된 사항이 있습니까?

답변