2012-10-25 4 views
2

/app/views/users/ 에있는 create.js.erb 템플리트를 사용하려고하는데 다음 오류가 발생합니다 :템플릿이 없습니다 (응용 프로그램이 .js.erb 파일을 찾을 수 없습니다)

Template is missing 
Missing template users/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/home/tim/fairym/app/views" 

내 컨트롤러 액션을, 나는 다음 railscast에 기초 : http://railscasts.com/episodes/381-jquery-file-upload

def create 
    @user = User.create(params[:user]) 
    end 

문제가 여기에 무엇입니까?

답변

1
당신이 railscast 에피소드에 통지하는 경우, 그는 script

$('#new_painting').fileupload 
    dataType: "script" 
의 데이터 형식에 대한 AJAX 요청을하고, 때문에이 템플릿을 찾을 수없는 이유는

그러면 링크가 HTML 형식이 렌더링 될 것으로 기대하는 생성 작업에 대한 링크를 어떻게 수행하는지에 따라 다릅니다.

Template is missing 
Missing template users/create, application/create with {:locale=>[:en], **:formats=>[:html]**, :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/home/tim/fairym/app/views" 

당신은 당신의 행동에 render js를 추가하여이 문제를 해결하거나 아약스 요청을하고있는 경우 데이터 형식이 스크립트로 설정되어 있는지 확인 할 수 있습니다.

+0

js.coffee 파일에서 'script'에 대한 요청을했지만 서버가 그 이유를 들어주었습니다. 그것은 respond_to를 추가 한 후에 만 ​​작동했습니다. 이것은 아주 이상합니다. – TimmyOnRails

3

js 파일을 기대하지 않습니다. 당신의 방법에 respond_to 블록을 추가

def create 
    @user = User.create(params[:user]) 

    respond_to do |format| 
    format.js 
    # add more 'format' calls for any other formats this method should ever respond to. 
    end 
end 
2

이미 답변을 받았지만 동일한 문제와 오류 메시지가 있었으며 양식에 "remote : true"를 추가하여 해결했습니다. 양식에서 ajax 호출을 제출할 때마다이 옵션이 필요합니다.

나는 이것이 대부분 분명하지만, 이런 것들을 흔하게 잊어 버리는 나 자신과 같은 새내기는 알지 못한다. 예를 들어

:이 도움이

<%= form_for([@club, @club_order], remote: true) do |f| %> 

희망.

관련 문제