AJAX, trilhos, e a carga dinâmica de formas
-
04-07-2019 - |
Pergunta
Eu tenho um aplicativo de trilhos que pegou um pouco de tração, mas eu tenho uma séria dor de cabeça para lidar com eles. É um tipo básico de aplicação gestora de ativos -. Usuários fazer upload de suas fotos, .pdfs, vídeos, etc., eo sistema permite-lhes gerir a forma como esse activo é apresentado
Eu comecei com uma trilhos bastante normal ver - exatamente o que é gerada por trilhos - para index.html.erb. Eu tenho um parcial que torna uma miniatura de cada um dos activos e algo como isto:
<div id="preview"> </div>
O que eu quero é que a miniatura para ser clicáveis ??(fácil), mas quando o usuário pressiona o botão, o conteúdo da div vai ser preenchido com, bem, essencialmente o edit.html.erb, mas eu estou supondo ele precisa ser feito como um parcial. Eu já conseguiu isso com javascript reta.
Eu tenho acesso à versão pré-publicação do novo 'Desenvolvimento Ágil on Rails' livro, que qualquer pessoa pode obter através do editor, mas o capítulo sobre AJAX é muito mínima e assume mais experiência com essas coisas do que eu tenho , sendo esta a minha primeira incursão em javascript e trilhos.
UPDATE: Em resposta ao "o que é a questão" 'resposta', embora eu pensei que era muito claro:
O que eu preciso para colocar em miniatura da parcial para causar um clique para carregar o formulário de edição para o div?
Solução
Você precisa usar link_to_remote:
<%= link_to_remote image_tag('whatever.jpg'),
{:controller => 'something', :action => 'replace_thumbnail', :id => @thumbnail.id},
:update => 'preview' %>
e no controlador, você deve ter esta ação:
def replace_thumbnail
image = Image.find(params[:id])
render :partial => 'edit', :object => image, :layout => false
end
Verifique se o seu parcial é chamado '_edit.html.erb'