2011-02-16 4 views
1

여러 파일을 내 앱에 게시하는 Heroku에서 호스팅되는 Rails 3 앱에서, 어떤 샘플 코드를 사용하려고하면 :rails3, params [: filename] .tempfile.path 대 params [: filename] [: tempfile] .path를 혼동합니다.

File.open(params['filename'][:tempfile].path) 

그러나 내 기록에는 NoMethodErr에 tempfile과 같은 메소드가 표시되지 않습니다.

는 또한
File.open(params[:filename].tempfile.path) 

이 같은 오류가 발생했습니다 시도했다.

컨트롤러에 require 'tempfile'을 추가했는데 아무런 차이가 없습니다.

+0

당신도보기 파일을 보여줄 수 있습니까? – rubyprince

답변

2

파일이 응용 프로그램에 게시되면 매개 변수의 개체가 이미 Tempfile이어야하므로 [: tempfile] 또는 .tempfile을 호출하지 않아도됩니다. 다음과 같이 시도하십시오 :

File.open params[:filename].path 
+0

감사합니다! – jpwynn

+1

params [ 'filename']이 필요합니다. temofile.path 임시 파일에 대해 작성한 텍스트가 rus에 대해 작성한 텍스트는 실제로 양쪽 모두에서 동일한 키 이름 'filename'을 사용하는 문제를 디버깅하는 핵심이었습니다. POSt 데이터와 url은 전자를 덮어 씁니다. – jpwynn

+0

다행히 듣고 다행입니다. – DanneManne