Rails: загрузка изображения с помощью Tableless Model - PullRequest
0 голосов
/ 28 июня 2010

Вот сценарий, я хотел бы, чтобы пользователь вводил все данные и все и использовал em для заполнения результата. Мне не нужно хранить их в базе данных, так как я просто покажу им страницу результатов.

Я сделал http://railscasts.com/episodes/219-active-model и сделал мою модель без таблицы.

Но теперь у меня проблема, когда я хочу получить загрузку изображения от пользователя. Я также хотел бы отобразить это изображение на странице результатов, и, поскольку я буду использовать его один раз, по возможности, я не хотел бы также сохранять его в базе данных.

Я пытался реализовать скрепку с моделью без таблиц (так как я не мог найти другое решение), но похоже, что модель унаследовала ActiveRecord :: Base для его работы ...

Возможно ли это? Или это другой способ, которым я могу это реализовать?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 28 июня 2010

ОК, поэтому вы хотите получить изображение, а затем отобразить его обратно, а не сохранять изображение. Можно сделать.

А как насчет контроллера, который получает файл с помощью multipart, а затем передает файл обратно в запрос?

Файл контроллера:

def upload
  # Save file
  name =  params['datafile'].original_filename
  directory = "tmp/uploads"
  temp_file_name = File.join(directory, name)
  send_file temp_file_name, :status=>200
end

Затем вы просто очистите tmp, когда вам нужно. Или попробуйте выполнить File.delete temp_file_name, когда вам нужно.

Если вы хотите проверить, что это изображение, вы можете выполнить проверку модели Paperclip.

0 голосов
/ 28 июня 2010

Если бы вам удалось использовать Paperclip для этого, как бы вы избавились от загруженного изображения, если оно вам больше не нужно?Без базы данных или какой-либо другой формы постоянного хранения, как бы вы узнали, где хранится изображение?

Я думаю, что у вас есть некоторые концептуальные проблемы, которые вам следует переосмыслить, прежде чем начинать взламывать модели без таблиц, которые принимаютзагрузка изображений.

Но, если по какой-то причине вы действительно хотите сделать это таким образом, я бы предложил просто загрузить изображение без использования такого драгоценного камня, как Paperclip, который действительно призван упростить процесссвязать файлы с объектами ActiveRecord.Просто Google для загрузки файла в Ruby, это не так уж сложно.

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