ROR - шаг за шагом несколько изображений с помощью скрепки - PullRequest
4 голосов
/ 22 февраля 2010

Я использовал "учебник" на здесь , но по какой-то причине он не работал.

Может ли кто-нибудь дать мне пошаговое руководство по настройке формы для нескольких изображений (загрузить) с другими элементами формы ...

Также может быть предоставлен другой учебник (хороший).

Я хочу использовать только плагин paperclip.

@ Гордон Иснор: Я загрузил свой текущий (noob) проект с некоторыми функциями (логин, регистрация) но он даже немного не настроен. Я только пытаюсь заставить работать несколько изображений, весь код "нескольких" изображений удален в этом источнике. Так что все чисто и работает. (пока не замечаете текущий логин ;-)) Ps. Использование nifty_scaffold по умолчанию и т.д ...:)

Только для глаз stackoverflow: Ссылка Rapidshare (- 100 кб.

1 Ответ

7 голосов
/ 22 февраля 2010

У вас есть примеры кода? Было бы легче помочь, если бы было на что посмотреть или более подробное описание того, как это не работает.

ОК -

Некоторые моменты, которые помогут вам начать:

1 - в вашей модели Progress вы принимаете вложенные атрибуты для несуществующей модели: вам нужна модель ProgressImage с вложением Paperclip:

class ProgressImage < ActiveRecord::Base
  belongs_to :progress
  has_attached_file :photo
end

2 - Ваша форма прогресса не является многочастной, она должна быть:

<% form_for @progress, :html => { :multipart => true } do |f| %>

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

http://weblog.rubyonrails.org/2009/1/26/nested-model-forms

4 - Есть также плагин, который я нашел полезным для вложенных форм атрибутов, называемый add_nested_fields: http://github.com/miletbaker/add_nested_fields

5 - У вас есть миграция для добавления столбцов скрепки в несуществующую таблицу изображений прогресса - вы также можете изменить эту миграцию, чтобы создать таблицу, и включить эти специфичные для скрепки столбцы, а затем запустить ее с помощью rake db:migrate.

...