Rails & Paperclip: ограничение размера файла переменной

В настоящее время у меня есть приложение Rails, в котором пользователи разных рангов могут загружать файлы (через Paperclip). Я знаю, что могу установить глобальный предел размера файла в модели, однако я хочу применить различные ограничения размера файла в зависимости от ранга пользователей.

Кто-нибудь знает, как я могу это сделать?


person Community    schedule 22.02.2011    source источник


Ответы (1)


Самый простой ответ заключается в том, что вы пишете проверки ActiveRecord. например напишите следующее в модели:

validate :some_name

def some_name
  errors_add(:file_file_size, 'error message') if file_file_size > 2.megabytes && user.rank > ...
end
person Tatsuro Baba    schedule 22.02.2011
comment
Я очень новичок в Ruby On Rails - я предполагаю, что это входит в модель? Если он идет в модели - как его использовать? - person ; 22.02.2011
comment
да, вы помещаете это в модель, и если размер загружаемого файла больше, чем валидация, ActiveRecord не фиксирует эту загрузку и откатывает базу данных. Если вы хотите больше узнать о пользовательских проверках Rails, см. здесь: руководства. rubyonrails.org/ - person Tatsuro Baba; 23.02.2011