Скопируйте изображение скрепки в новую запись в Rails 4
Мой сайт предназначен для публикации рецензий на альбомы, которые называются Пины. Модель пинов имеет следующие атрибуты:
: художник,: год,: название,: ранг,: описание, и: изображение
Изображение использует Paperclip и хранится на Amazon S3, если это имеет значение
Я пытаюсь разрешить пользователю просматривать рецензию, опубликованную другим пользователем, и щелкнуть ссылку, чтобы проще написать рецензию на этот же альбом. Таким образом, в основном ссылка переносит их на страницу Pin.new, а в форме уже указаны: artist,: title,: image и: year.
Я понял, как это сделать, используя ВСЕ атрибуты, в том числе: description и: rank, чего я не хочу. Я тожене возможность перенести изображение в новую форму.
Вот код pins_controller.rb, который я использую:
def copy
@source = Pin.find(params[:id])
@pin = @source.dup
render 'new'
end
И в моем представлении шоу:
<%= link_to "copy", copy_pin_path(params[:id]) %>
Итак, первый вопрос: как @ source.dup только: artist,: title и: year
Второй вопрос заключается в том, как перенести изображение скрепки. Я попытался добавить это в мой pins_controller.rb:
def copy
@source = Pin.find(params[:id])
@pin = @source.dup
@pin.image = @source.image
render 'new'
end
но это не сработало.
ОБНОВЛЕНИЕ: miller350 ответил на мой первый вопрос, но я все еще не могу заставить изображение скрепки скопировать в «новую» форму. В консоли я могу скопировать из одной записи Pin и сохранить новый пин, как это:
r = Pin.new
r.image = Pin.find(83).image
r.save
Я думаю, что проблема в том, что новая форма вывода требует, чтобы изображение было выбрано на ПК пользователя перед сохранением вывода. Какой бы ни была функция Paperclip, я думаю, что именно здесь я застреваю.