2017-10-31 7 views
0

레일 5를 사용 중입니다.브라우저에서 직접 주소를 입력하지 않으면 send_data가 작동하지 않는 이유는 무엇입니까?

send_data가 표시되지 않는 이유는 무엇입니까? 브라우저에 수동으로 입력했을 때 작동했습니다. http://localhost:3000/docfiles/show/59f9f6a651d2f52dc080116c

이 def에는 레이아웃이나보기가 필요합니까?

def show  
    data= read_binary('./upload/f1.png') 
    send_data(data, :filename=>'f1.png', :type=>'image/png', :disposition=>"inline") 
end 

mime_types.rb

Mime::Type.register "image/png", :png 

그런 다음 브라우저 표시 줄에 표시 : http://localhost:3000/docfiles/show/59f9f6a651d2f52dc080116c 오류 : 여기

가 (하나이 질문에 대한 f1.png) 내 하드 코드 정의와 이미지가 표시되지 않습니다.

enter image description here

하지만 (확장자없이), 다음 이미지 파일을 찾았 [Enter]를합니다.! 컨트롤러 데프에서 enter image description here

+0

더 많은 코드를 포함하여, 귀하의 질문에 더 많은 정보를 추가하십시오 (내가 사용 LINK_TO이 경우 같은 문제를 발견). 무엇을 성취하려고합니까? 관련 모델, 뷰 및 컨트롤러에 대한 전체 코드를 공유하십시오. – Ankit

+0

'send_data (data.read, : filename => doc.filename, : type => doc.content_type, : disposition => "inline")' – Cyzanfar

+0

시도 : ====> NoMethodError - 정의되지 않은 메소드'read 'for #

답변

0

그냥 link_to_blank 와 SEND_DATA 및 생성 된 뷰를 제거

 %td= link_to_blank align_text(doc.filename), :controller=>"mycontroller", :action=>:listdocument, :id=>doc.id