Copie uma imagem de clipe de papel para um novo registro no Rails 4
Meu site é para postar resenhas de álbuns, chamadas Pins. O modelo de pinos possui os seguintes atributos:
: artista,: ano,: título,: classificação,: descrição e: imagem
A imagem usa o clipe de papel e é armazenada no Amazon S3, se isso importa
Estou tentando permitir que um usuário veja uma resenha que outro usuário postou e clique em um link para simplesmente escrever sua própria resenha para o mesmo álbum. Então, basicamente, o link os leva à página Pin.new e o formulário já possui o preenchimento de: artist,: title,: image e: year.
Eu descobri como fazer isso trazendo TODOS os atributos, incluindo: description e: rank, que eu não quero. eu também sounão capaz de trazer a imagem para o novo formulário.
Aqui está o código pins_controller.rb que estou usando:
def copy
@source = Pin.find(params[:id])
@pin = @source.dup
render 'new'
end
E na minha exibição de programa:
<%= link_to "copy", copy_pin_path(params[:id]) %>
Então, a primeira pergunta é como usar somente @ source.dup: artist,: title e: year
A segunda questão é como trazer a imagem do clipe de papel. Tentei adicionar isso ao meu pins_controller.rb:
def copy
@source = Pin.find(params[:id])
@pin = @source.dup
@pin.image = @source.image
render 'new'
end
mas isso não funcionou.
ATUALIZAÇÃO: miller350 respondeu à minha primeira pergunta, mas ainda não consigo copiar a imagem do clipe de papel para o "novo" formulário. No console, eu posso copiar de um registro de PIN e salvar um novo PIN como este:
r = Pin.new
r.image = Pin.find(83).image
r.save
Acho que o problema é que o novo formulário de pinos exige que uma imagem seja escolhida no PC do usuário antes de salvar o pino. Qualquer que seja a função do Paperclip, acho que é aí que estou ficando preso.