내가 만든 비디오 모델의 정보가 필요한 인터페이스에서 작업 중입니다. 즉, 필요한 정보를 얻으려면 MySQL 쿼리를 실행해야합니다. 내 코드 내 interface.js.erb
파일이 있습니다 :자바 스크립트 파일에서 Ruby/Rails 코드 사용하기
NoMethodError in Videos#show
Showing /home/user/My Projects/Ruby Projects/Video_APP/app/views/layouts/application.html.erb where line #8 raised:
undefined method `low_fps' for nil:NilClass
(in /home/user/My Projects/Ruby Projects/Video_APP/app/assets/javascripts/jQuery/interface.js.erb)
Extracted source (around line #8):
5: <%= stylesheet_link_tag "application", :media => "all" %>
6: <%= javascript_include_tag "jQuery/jquery-1.7.2.min.js" %>
7: <%= javascript_include_tag "jQuery/jquery-ui-1.8.21.custom.min.js" %>
8: <%= javascript_include_tag "application.js" %>
9: <%= javascript_include_tag "bootstrap-dropdown.js" %>
10: <%= javascript_include_tag "jQuery/interface.js.erb" %>
11: <%= javascript_include_tag "jQuery/events_controls.js" %>
내가 정상적인 *의 .js이 파일을 사용한다 :
...
function play_vid()
{
low_fps = '<%= @video.low_fps %>' ;
alert(low_fps); //checking
if(low_vid.paused){
low_vid.play();
play_icon.classList.remove("icon-play-circle");
play_icon.classList.add("icon-pause");
}else{
low_vid.pause();
play_icon.classList.remove("icon-pause");
play_icon.classList.add("icon-play-circle");
}
}
...
위의 코드는이 날을 반환? 주요 차이점은 무엇이며 어떻게 문제를 해결할 수 있습니까?
편집 : (? 비디오/show.html.erb를)
# GET /videos/1
# GET /videos/1.json
def show
@video = Video.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @video }
end
end
을 당신에게 에러 메시지가 뜨면,'@ video' 변수는 정의되지 않은 메소드에서'low_fps'로 설정되지 않습니다. 컨트롤러에서'@ video'를 실제로 정의했는지 확인 했습니까? – Veger
어떤 컨트롤러? 내 VideosController가 Rails에 의해 자동으로 생성되었습니다. –
@TestTest 오류를 throw 할 때'interface.js.erb' 파일이 렌더링 될 때 컨트롤러가 요청을 처리하고 있습니다. –