0
如何禁用特定環境中的數據庫使用。我希望環境能夠純粹地提供不需要數據庫的圖像。一個不同的環境將做文件上傳和管理。Ruby on Rails:請勿將數據庫用於特定環境
我之所以這樣做是因爲我想從images.example.com/image.jpg服務圖像,並從admin.example.com管理它們。
任何幫助,非常感謝。 謝謝。
如何禁用特定環境中的數據庫使用。我希望環境能夠純粹地提供不需要數據庫的圖像。一個不同的環境將做文件上傳和管理。Ruby on Rails:請勿將數據庫用於特定環境
我之所以這樣做是因爲我想從images.example.com/image.jpg服務圖像,並從admin.example.com管理它們。
任何幫助,非常感謝。 謝謝。
我認爲你可以通過網絡服務器在rails應用程序之外做到這一點。如果您爲apache使用nginx或VirtualHost
,則可以創建另一個server
配置。 例CONFIG爲nginx的:
server {
server_name images.example.com;
root /path_to_images_directory;
location/{
rewrite ^/([^\/]+\.css)$ /css/$1 break;
rewrite ^/([^\/]+\.js)$ /js/$1 break;
rewrite ^/([^\/]+\.(png|jpg|jpeg))$ /images/$1 break;
}
}
我目前已經安裝乘客,這就是爲什麼我使用具有兩個環境在同一文檔根指向配置的兩個虛擬主機。但由於一個環境不同,我得到ActiveRecord :: ConnectionNotEstablished,因爲我沒有在database.yml中設置數據庫。 –
你不需要乘客。例如,如果您將圖像存儲到'public/uploads/images'目錄中,只需將'DocumentRoot'直接指向此目錄即可。所以所有的圖像都將通過網絡服務器直接發送。 – Bob
這是非常簡單的解決方案,我怎麼沒有看到。 –