我想問你是否可以顯示數據,我已經將它保存到/ public/my_dir_for_data中。ruby on rails - 訪問公共目錄時出錯
如果我試圖從這個目錄顯示圖像,我會得到「路由錯誤」。 可能當我想將數據保存到我的應用程序的根目錄時,例如 /my_data,一切都會好的......但我喜歡RoR的 應用的這種結構,我會很高興,如果我能使用的目錄中 /公...
存在任何方式,如何去做? (同時安全?)
我想問你是否可以顯示數據,我已經將它保存到/ public/my_dir_for_data中。ruby on rails - 訪問公共目錄時出錯
如果我試圖從這個目錄顯示圖像,我會得到「路由錯誤」。 可能當我想將數據保存到我的應用程序的根目錄時,例如 /my_data,一切都會好的......但我喜歡RoR的 應用的這種結構,我會很高興,如果我能使用的目錄中 /公...
存在任何方式,如何去做? (同時安全?)
如果文件存在,rails將不會進入控制器堆棧,如果找不到該文件,它會認爲這是一個動態操作並進入控制器堆棧。
因此,如果一個文件存在於#{Rails.root}/public/directory/file.png
並且您導航到domain.com/directory/file.png
它應該工作呈現該文件。
你確定所有的目錄和文件名都是相同的雙方?
上述問題是由於config/environment/production.rb文件中的配置設置引起的。 如果您添加下面的行,問題將被解決。 config.serve_static_assets = true
但是,這條線已被棄用,因爲軌道4,它將被刪除在軌道5.0。爲此,引入了下面的新配置參數。您將收到如下警告,但會提供靜態文件。
棄用警告:配置選項config.serve_static_assets
已更名爲config.serve_static_files
闡明其作用(它只是使服務於public
夾中的一切,是無關的資產管道)。 Rails 5.0中將刪除serve_static_assets
別名。請相應地遷移您的配置文件。
所以,如果您使用config.serve_static_assets參數爲true,那麼也會達到此目的。
您使用什麼代碼來嘗試和顯示圖像? – 2011-05-06 17:33:43
不,我沒有使用任何代碼,我在我的瀏覽器中編寫了http://www.domain.com/my_dir_for_data/example.png。我猜rails認爲「my_dir_for_data」是一個控制器。 – 2011-05-06 17:43:13