2014-03-01 23 views
0

我想在rails 3應用程序中使用圖像標籤來顯示回形針上傳的頭像。我的問題是,我試圖鏈接到的文件的路徑結構如下使用3位數字作爲用戶標識的回形針文件路徑

/system/model_name/photos/000/000/model_id/image_size/file_name.jpg 

但是,型號ID始終爲3位數。因此,如果用戶上傳的頭像和用戶ID爲#1,路徑看起來像

/system/users/photos/000/000/001/thumb/file_name.jpg 

所以當我用圖像標籤鏈接,像這樣

<%= image_tag "/system/users/photos/000/000/#{@user.id}/medium/#{@user.image_file_name.to_s}" %> 

我真正得到

<img src="/system/users/photos/000/000/1/medium/file_name.jpg"> 

如果用戶ID沒有三位數字,我應該通過添加一些零與紅寶石的ID 3位數字?如果是這樣,那麼如何?我是否以錯誤的方式處理這個問題,並且應該在數據庫中存儲回形針上傳路徑,如果是這樣的話?我無法在應用程序正在製作時更改回形針的上傳路徑,並且可能會使已上傳的頭像變得不可靠,或者至少更難以鏈接到。

+0

我建議你使用用戶實際的id作爲目錄名稱。您當前的解決方案僅允許將999個用戶置於系統中。雖然它可能永遠不會有這麼多的用戶,但它仍然更強大。 –

+0

這就是我最終的目標。 999個用戶的事情可能永遠不會發生,但這似乎是正確的方式。我只是更改了圖像當前存儲的目錄。 –

回答

0
@user.id.length = 1 ? 00#{@user.id} : @user.id.length = 2 ? 0#{@user.id} : @user.id.length = 3 ? #{@user.id} 
+0

爲了使您的答案更加實用,請添加一些關於您正在進行的更改以及這些更改如何解決OP問題的解釋。 –