我有ThreesixtyViewer也有ThreesixtyViewerImage模型嵌套資源的典範。圖像屬性正在通過paperclip gem保存 - 但我在更新文件路徑時需要如何解決問題。Rails的回形針寶石 - 父模型ID保存路徑
需要將每個ThreesixtyViewer的圖像一起保存到與特定查看器關聯的一個目錄中。例如:
/public/system/threesixty_viewer_images/12/large/filename.jpg
在這個例子中,在路徑中將是具體threesixtyviewer的ID - 但我無法找到該功能的任何實例。如果ThreesixtyViewer爲57的ID,那麼路徑看起來像這樣:
/public/system/threesixty_viewer_images/57/large/filename.jpg
threesixty_viewer.rb
belongs_to :article
has_many :threesixty_viewer_images, dependent: :delete_all
accepts_nested_attributes_for :threesixty_viewer_images, allow_destroy: true
threesixty_viewer_image.rb
belongs_to :threesixty_viewer
has_attached_file :image, styles: { small: "500x500#", large: "1440x800>" },
path: ':rails_root/public/system/:class/:VIEWER_ID/:size/:filename',
url: '/system/:class/:VIEWER_ID/:size/:filename'
validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/
我知道:路徑和:url屬性需要更新編輯爲threesixty_viewer_image.rb內has_attached_file - 但我不確定如何可以得到threesixty_viewer的ID ...現在我在它的位置添加了一個:VIEWER_ID。
任何幫助將不勝感激!預先感謝任何可以借鑑的人!
當我用**:threesixty_viewer_id **或任何其他應該可用的屬性(即:article_id)執行此操作時 - 它將目錄保存爲完全一樣的...所以它現在看起來像'/ public/system/threesixty_viewer_images /:threesixty_viewer_id/large/filename.jpg' –
更新了我的回答,並提供了有關插值以及如何使用它們的更多具體細節。 –