как загружать файлы в рельсы - PullRequest
0 голосов
/ 05 марта 2012

Мое приложение - построитель опросов ... ему нужно загружать cvs-файлы пользователями, я работаю с rails 3.1.3., Ruby 1.9.2 и 1.5.3 для аутентификации, но я попытался: http://www.jedi.be/blog/2009/04/10/rails-and-large-large-file-uploads-looking-at-the-alternatives/ но не работает для меня ... кто-нибудь может сказать мне, как (шаг за шагом ... да, я начинающий) загружать файлы CVS в рельсы 3.1.3 ??? заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 05 апреля 2012

Если ваша цель - загрузить файл в каталог, вам не нужно использовать Carrierwave или Paperclip. Эти драгоценные камни имеют большую поддержку для обработки изображений и дополнительные опции.

Я предлагаю вам взглянуть на класс файлов Ruby и метод open, чтобы быть более конкретными. http://www.ruby -doc.org / ядро-1.9.3 / file.html # способ-с открытой

Что-то вроде следующего должно помочь:

# "public/csv" is the directory you want to save the files in
# upload["datafile"] is the data populated by the file input tag in your html form 
path = File.join("public/csv", upload["datafile"].original_filename)
File.open(path, "wb") { |f| f.write(upload["datafile"].read) }

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

Кроме того, если вы работаете с файлами CSV, обязательно прочитайте класс Ruby CSV: http://ruby -doc.org / stdlib-1.9.2 / libdoc / csv / rdoc / CSV.html . Это облегчает работу с CSV-файлами.

2 голосов
/ 05 марта 2012

Carrierwave (https://github.com/jnicklas/carrierwave) в значительной степени является стандартом при загрузке файлов.

В противном случае, вот более простой способ, если вам не нужен полноценный гем: Rails 3 - загрузка файлов в публичный каталог

0 голосов
/ 05 апреля 2012

Я нашел отличный проект в github с javascript, в rails 3.2.1, вы можете загрузить файл и сохранить его в базе данных, это делается с помощью sqlite, но его очень легко изменить на mysql, вот ссылка: загрузка файлов в rails 3.2.1, javascript и sqlite

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...