我正在尝试放置带有部分渲染的文件链接,如下所示:
#Main haml file
= render :partial => 'file_upload', :locals => {:f => f, :file_download => 'residence_cert'}
#Inside the partial
%a{:href => @postulant_info[file_download]}
但这只是使用文件名而不是文件的完整路径创建链接。然后意识到这@postulant_info[file_download]
只是给我一个带有文件名的字符串,而不是carrierwave对象
-logger.debug @postulant_info.residence_cert #this is returning my carrierwave object -> 'DocumentUploader'
-logger.debug @postulant_info['residence_cert'] #but this one is just returning a String, the DB record with the file name
一种解决方案可以将 url 像本地一样放在渲染中,= render :partial => 'file_upload', :locals => {:f => f, :file_download => 'residence_cert', :url => @postulant_info.residence_cert.url}
但我认为当您在部分模板中拥有属性名称时,“应该”是不必要的。
任何想法将不胜感激。提前致谢