Главная
Использование FileColumn plugin для организации загрузки файлов на сервер в приложении Ruby on Rails Версия в формате PDF Версия для печати Отправить на e-mail

Многие веб приложения предоставляют пользователям возможность загрузки файлов. В Ruby on Rails с помощью архитектуры плагинов это можно организовать очень просто и быстро.

Итак, описываем наши дальнейшие шаги:

1.      В  командной строке терминала вводим команду установки плагина

ruby script/plugin install http://opensvn.csie.org/rails_file_column/plugins/file_column/trunk

Мы устанавливает этот плагин в наше приложение.

2.      Далее нам необходимо внести изменения в таблицу базы данных MySQL,которая будет работать с загрузчиком файлов. Для этого надо туда добавить новое поле. Например, назовем его “file”, а тип установим как varchar c длиной  125 символов. В этом поле будет храниться путь загруженного на сервер файла. Изменить таблиц базы можно с помощью программ или с помощь команды миграции Ruby on Rails.

 

3.      Затем надо отредактировать файл модели, которая будет использоваться в качестве загрузчика. Выглядеть это может так:

class Document < ActiveRecord::Base
file_column :file,  :store_dir => "/public/documents”

              validates_filesize_of :file, :in => 50.kilobytes..1000.kilobytes
               end

Здесь мы а/ активируем наш плагин в данной модели, в/ задаем путь, куда будут помещаться  загружаемые файлы на сервере и с/ устанавливаем ограничение размера загружаемых файлов.

4.      Теперь нужно добавить теги в форму вида нашего загрузчика

<p><label for="document_file">File </label><br/>
<%= file_column_field "document", "file" %></p>

           Обратите внимание на написание тега, это важно. Тег отличается от обычного, потому что это тег плагина.

5.       На конец, отредактируем форму, установив там поддержку загрузки файлов. Это тоже важно.

                        <h1>New document</h1>

                     <%= error_messages_for 'document' %>

                    <% form_tag ( {:action => 'create'}, :multipart => true) do %>

                     <%= render :partial => 'form' %>

                     <%= submit_tag "Create" %>

                    <% end %>

          Это все. Последний штрих – установить необходимые права на сервере для папки, куда будут загружаться файлы.

опубликовано
Добавить новыйПоиск
Добавить комментарий
Имя:
E-mail:
 
Веб-сайт:
Заголовок:
UBB-Код:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Security Image
Пожалуйста, введите проверочный код, который Вы видите на картинке.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.

 
< Пред.   След. >


© www.aurov.com - Личный сайт Александра Юрова 2008 All rights reserved
Tags
newdatabase почты source afxdisp очень control sessions ontrayicon pages ~cmybrowserdoc frequently infrequently render data edit диалогового заполнить display этой stdafx контролов printing serve ввести microsoft startup onnavigationreload иконка embedded именно

Joomla Modul

Главная
Статьи
Творчество
Галерея
Кто он-лайн
Сейчас на сайте:
Гостей - 5
Jx Random Quote
"Things are more like they are now than they have ever been." -- Gerald Ford