2016-04-26 50 views
0

我正在開發一個用戶(模型「用戶」)可以上載文檔(模型「Document」)的Rails項目。我正在使用CarrierWave上傳文件。用戶可以擁有不同類型的帳戶(免費或高級)。如果用戶有一個免費賬戶,我只想讓他們上傳某些類型的文件。根據另一個模型的屬性對一個模型使用不同的CarrierWave上傳器 - RAILS

CarrierWave Uploader文件不知道current_user是什麼,所以我不能這樣檢查它。我理解在Document模型中使用current_user是不好的做法。

對我來說,處理這個問題的最佳方法是什麼?

感謝

+0

僅用於該控制器。 – 7urkm3n

+0

文檔模型與用戶模型是否有任何關係? – Sebin

回答

0
def extension_white_list 
    return %w(jpg jpeg gif png pdf docx) if model.user.account_type?(:free) 
    %w(jpg jpeg gif png pdf docx doc xlsx xls odt ods csv txt) 
end 

您可以通過可變model訪問內上傳的Document模型。如果Document模型通過關係與User模型連接,則可以執行上述的操作。請注意,您必須在User模型中定義account_type方法。

相關問題