클립 및 AWS S3와 관련된 세 가지 질문이 있습니다.종이 클립 사용자 정의 보간 (AWS S3의 사용자 정의 경로)
has_attached_file :attachment,
:url => "/songs/:user_id/:basename.:extension",
:path => "/songs/:user_id/:basename.:extension"
URL 및 PATH의 차이는 무엇 : 클립을 가지고 내 모델에서
1)
, 나는 다음 코드 있나요?2) :basename.:extension
은 무엇입니까?
3) 두 모델 (User
및 File
)이 있다고 가정 해 보겠습니다. User
에는 많은 수의 File
이 있습니다. 종이 클립 경로 및 URL은 File
모델에서 구성됩니다.
는 config/initializers/paperclip.rb
, 나는 코드 아래에 넣어 :
Paperclip.interpolates :user_id do |attachment, style|
attachment.instance.criteria.user_id
end
내가 위의 코드가 잘 작동하는지 확인합니다. 파일이 songs/5/song.mp3
에 저장됩니다. songs/user_id_5/song.mp3
에 mp3 파일을 저장하고 싶습니다. 아래에서 시도했지만 작동하지 않습니다.
Paperclip.interpolates :user_id do |attachment, style|
'user_id_' + attachment.instance.criteria.user_id
end
내가 원하는대로 만들 수 있습니까? S3 언어 path
에서
# 3의 경우 문자열이 작동하지 않습니다. 이유를 모르겠다. – JoHksi
그래서'has_attached_file' 메쏘드에서': path => ": user_id"... "를 가지고 있다면, path의 값은 무엇입니까? –