다음은 this guide에이어서 공개 (기본값)가 아닌 내 서버의 보안 디렉토리에 파일 업로드를 수행하는 방법을 학습했습니다. 쇼를 보려고 링크를 보려고하면 다음과 같이 표시됩니다.Carrierwave 실패 (제작)로 보안 디렉토리 파일 업로드
undefined method `redocument' for #<ActionView::Helpers::FormBuilder:0xa2ae338>
near: <%= link_to File.basename(f.redocument.url), "/uploads/#{f.id}/#{File.basename(f.redocument.url)}" %>
링크를 렌더링하는 데 문제가 있습니다. 내가 여기서 뭔가를 놓치고 있니? 이 코드를 한 줄씩 복사하지 않겠습니까? 그들은 'redocument'를 대체해야하는지 여부를 지정하지 않지만 내 모델 이름은 Entry이며 파일 링크가 저장되는 문자열은 mv_link입니다. 누구든지 수정 사항이 무엇인지 알 수 있습니까?
업데이트 : 희망이 올바른 방향
에서 나는 '@의 entry.mv_link'에 'f.redocument'의 모든 경우를 변경했습니다. 이제 쇼 페이지에서 링크가 있습니다. 그러나 그것을 클릭하고 다운로드하려고하면 컨트롤러가 지정한 경로가 끊어집니다. 컨트롤러가 무엇입니까
def download
path = "/#{redocument.redocument}"
send_file path, :x_sendfile=>true
end
이 경로는 어떻게 변경해야합니까?
이 형식입니까, f는 양식 개체입니까? 그렇다면'f.object.redocument.url'을 시도해보십시오. –
실제로 이것은보기에 있습니다 ...이 안내서의 마지막 줄에서했던 것과 같습니다. – MoB
오류는 양식에 있음을 나타내고 f는 양식 작성기 객체임을 나타냅니다. 당신은 형태가 없다는 것이 긍정적입니까? 'f' 변수는 무엇입니까? –