2013-07-22 41 views
0

我正在使用我的第一個RoR網站。你可以把它看作是一個有產品的商店。在開發Rails 4網站時在哪裏存儲虛擬產品圖像

我使用Ruby 2.0的Rails 4.0,黃瓜進行集成測試和RSpec的單元測試。 另外我使用FactoryGirl爲測試數據填充數據庫。 除了自動測試,我希望能夠在本地服務器上打開網站,並看到一些虛擬產品的描述和圖像。

這裏有一個問題:在哪裏存儲在開發環境中使用的產品圖片?

這裏是我的想法:

  • 我不想用迴紋針呢。
  • 我不能存儲在資產或公共的虛擬圖像,因爲他們將 部署到生產環境。
  • 我不知道如何訪問/測試/工廠/圖片或任何其他 目錄以外的資產和公共的。
  • 我不想將圖像存儲在數據庫中。
  • 我想要部署的解決方案,以防我需要填充CI的測試 網站。

這似乎是一個常見的Rails問題:在哪裏存儲可供客戶端訪問的虛擬測試資源? 但是,我發現的唯一解決方案是使用回形針。但我還沒有上傳。我只是想對虛擬產品

100個圖像

回答

0

你可以使用你的db種子文件來做這件事,然後你的測試者只需要運行rake db:seed就可以設置虛擬文件。

如果創建內部/db一個目錄,並把它seed_files或你喜歡的東西。然後在你的/db/seeds.rb你cud寫一些代碼,將這些文件移動到/public/images/product_images/public/images/product_images也應該在git中忽略。

當你這樣做,你CUD有一個名字模式,並將它們錨定到數據庫中的一些產品的記錄。如果您將在生產中使用種子文件但不播種虛擬圖像,則您還可以將種子腳本放入unless Rails.env.production?塊中。

+0

試過了。我將圖像複製操作添加到我的rake數據庫:填充腳本。用gitignore隱藏圖像。有用。但我仍然希望獲得開箱即用的解決方案,而無需在rake任務中完成此任務。謝謝。 –

0

你可以把你的圖像,如assets/dummy然後assets子目錄添加assets/dummy到的.gitignore文件(假設你使用Git),使虛擬目錄不可部署。

+0

有趣的想法。然而,它不包括部署映像來測試web服務器,以便我的測試人員可以使用它 –

+0

然後回形針確實是您的最佳選擇。它很容易使用。 – DiegoSalazar

相關問題