Возможно, вам придется переосмыслить, как разработано ваше приложение, поскольку не будет никакого способа (насколько это может видеть этот n00b) заблокировать определенные пути, не имея где-нибудь модели изображения.Существует драгоценный камень Rails (ссылка), который позволит вам полностью интегрировать fckeditor с моделями и контроллерами Rails в вашем приложении.
Вот что я бы сделал.
- Создайте модель и контроллер «изображения» с минимальными полями
user_id:integer
и protected:boolean, :default => false
в миграции БД.Это облегчит прямую ссылку на определенные изображения, а не на другие, и отследит, кто загрузил изображение.Обязательно установите отношение belongs_to :user
в модели изображения. - Настройте свою пользовательскую модель с отношением has_many: images, чтобы привязать пользователей к загружаемым фотографиям.
- Использовать Authlogic для аутентификации пользователей и требовать, чтобы на определенных страницах вход пользователя осуществлялся с использованием метода
before_filter :current_user
, предоставленного Authlogic. - Реализация rails-ckeditor gem with Paperclip , чтобы пользователи могли редактировать контент и загружать фотографии.Вы можете настроить PaperClip так, чтобы изображения сохранялись либо в папке «VIP», либо в обычной папке на основе «защищенного» поля, указанного в модели «изображения».
- Отредактируйте файл rout.rb, включив в него
map.resources :images
заявление, которое поможет создать полные URL-адреса для каждой загружаемой фотографии.
Этого должно быть достаточно, чтобы вы выбрали правильный путь.Если вы реализуете это правильно, у вас должна быть возможность разрешать пользователям загружать фотографии в fckeditor, выбирать, будут ли они защищены или нет «VIP», что должно сохранять фотографии в указанной вами папке и разрешать только прямые ссылки наVIP фотографии и другие требуют, чтобы пользователь войти / создать и учетную запись.Удачи!
~ Дан