2011-01-10 27 views
1

的Rails插件回形針插值每次請求的路徑時間根據一些動態用戶定義的規則的連接路徑。這可以讓你把名字/ ID /等。進入你的附件的路徑。我怎樣才能讓回形針的附件路徑值不變?

不過,我有兩個情況下,原有的路徑依賴可以改變的,而在這個時候我不能再找到附件了,因爲插值路徑現在指向了錯誤的地方。

我需要只是一次插補的路徑,當文件被保存,那麼此路徑保存且不論插值依賴性變化後回到那裏。

回答

0

我的一個同事想出了一個很好的解決方案。它不是無縫集成到回形針中,但它是有效的。要點是:

  1. 使用模型上的「before_create」過濾器採取的路徑中使用的所有值的快照,可以改變

  2. 從紙夾路徑插值引用這些快照值(而不是實際的來源,這可能會改變)

所以你的路徑定義看起來是這樣的:

:path => '.../:snapshotted_name/...' 

和代碼看起來是這樣的:

before_create :snapshot_names # only set once 

private 

def snapshot_names 
    snapshotted_name = customer.name 
end 
-1

我發現這個問題。

我有兩種情況下,原有的路徑依賴可以改變

他們爲什麼會改變?這兩種情況是什麼?什麼阻止你提出一個他們永遠不會改變的計劃?

+0

一個例子是像「/ CUSTOMER_NAME PRODUCT_NAME//」,其中無論是客戶或產品名稱可能在將來改變,但這些文件的路徑將不,因此插值的路徑會打破時,這些名稱更改。 –

+0

然後使用插值ID或別的東西。換句話說,拿出一個方案,其中的路徑不會改變。找出什麼不改變,然後立足的路徑。 – yfeldblum

相關問題