2015-01-06 3 views
4

js를 반환하기 위해 respond_to 블록을 사용하려면 무엇을 활성화/설치해야합니까? HTML로 CameraController 번호 쇼에 의해respond_to do | 형식 | format.js가 작동하지 않습니다.

처리 :

레일 4.2.0

루비 2.2 콘솔은 오류를 반환 (또한 4.0 시도 ... 나는 ... 일 같은 설정에 맞게 다운 그레이드) 2ms의

ActionController :: UnknownFormat (ActionController :: UnknownFormat)에서 허용되지 않음 (406) 완료 :

http://apidock.com/rails/Mime가 그 JS 언급을 기본 마임입니다 레일즈에 대한 타입. 헤더 파일에 추가하려고했지만 헤더 파일에 포함시킬 필요가 없다는 메시지가 콘솔에 표시되었습니다. 무엇이 누락 되었습니까?

#camera_controller.rb 
class CameraController < ApplicationController 
    # respond_to :js #I have tried using this... 
    def show 
    respond_to do |format| 
     format.js #{render 'show.js.erb'} #I have tried this too.. 
    end 
    end 
end 

# 'home/sidebar.html.haml' 
... 
# =link_to "Menu Items", menu_items_index_path, :handlers => [:erb], :formats => [:js], remote:true 
=link_to "Camera", camera_show_path, remote: true 
... 

# 'config/routes.rb' 
... 
get 'camera/show' 
... 


# camera/show.js.erb 
$("#main_view").html("<%= escape_javascript(render :partial => 'camera/show')%>") 
+0

너는 요청을 보낸거야? URL은 무엇입니까? – roob

+0

공개 URL이 없습니다. 컴퓨터에서 개발 중입니다. 요청은 respond_to ..입니까? 나는 당신이 그걸 찾고있는 것이 확실하지 않습니다. –

+0

요청이 'http : // www.example.com/XXXX.js'입니까? 요청은'.js'로 끝나야하고'js' 템플릿으로 응답 할 수 있습니다. 그렇지 않다면, 레일즈는'format.html'로 응답 할 것입니다. – dddd1919

답변

1

대신에

=link_to "Camera", camera_show_path, remote: true 

시도가 해결되지 않으면 카메라에,

%a{href: "/camera/show.js", class: 'btn', 'data-remote' => true} 

을 사용하여 추가/show.js.erb 한 방법

window.location="#{cameras_path}" 
+0

감사합니다. 나는 오늘 밤 집에 올 때마다 노력할 것이다. 하지만 왜 내가 위에 쓰는 방식으로 그것을 포맷 할 수 없는지 나는 이해하지 못한다. 내가 매일 어떻게 일하는지 보는 것. –

+0

@PeterBlack 작동 했습니까? –

+0

죄송합니다. 나는 어제 늦게 일했다. 나는 성공하지 못하고 두 가지를 모두 시도했다. % a {href ... 올바른 페이지가 반환되었지만 코드는 일반 텍스트로 렌더링되었습니다. 두 번째 예제는 # 에 대한 정의되지 않은 로컬 변수 또는 메서드'window '를 반환했습니다. –

관련 문제