2013-06-24 69 views
1

在我的應用程序中,人們可以用回形針上傳文件。一位用戶存儲了一個ruby腳本,該腳本放置在app/assets/assignment_attachments之類的文件夾中。如何從Rails自動加載中刪除文件夾?

不幸的是,當我的應用程序試圖啓動時,它執行這個ruby腳本,它不起作用,因爲它包含了我的應用程序不知道的東西。

問題是:如何阻止自動加載此文件的Rails?我想在我的config/application.rb以下沒有成功:

config.eager_load_paths -= [Dir["#{config.root}/app/assets/assignment_attachments/**"]] 
config.autoload_paths -= [Dir["#{config.root}/app/assets/assignment_attachments/**"]] 

如何排除beeing執行這些文件?

親切的問候,

尼爾斯

+0

你有沒有嘗試過這樣的事情:config.autoloads_path.reject! {| P | p if p == Dir [012] – cpuguy83

+3

你可能最好不要將文件上傳到應用程序中。我會在其他地方移動作業附件,並且(如果可能)添加一個Paperclip AttachmentContentTypeValidator,以確保獲得您期望上傳的文件類型。 – gmacdougall

回答

2

我不認爲上傳的文件應存放在你的app文件夾,因爲這是使用 - 正如其名字 - 爲您的應用程序代碼。

默認值是使用public/system,它可以符號鏈接到例如/www/myapp/shared/system(例如,如果您使用Capistrano進行部署)在部署之間共享。

請參閱https://github.com/thoughtbot/paperclip#understanding-storage尋求幫助。

相關問題