Digamos que tengo publicaciones y comentarios, y la URL para mostrar es /posts/1/comments/1
. Quiero crear un enlace para eliminar ese comentario en el método de destrucción del controlador de comentarios. ¿Cómo puedo hacer eso?¿Cómo crear un enlace de eliminación para un objeto relacionado en Ruby on Rails?
42
A
Respuesta
98
<%= link_to 'Destroy', post_comment_path(@post, comment),
data: {:confirm => 'Are you sure?'}, :method => :delete %>
en los comentarios controlador:
def destroy
@post = Post.find(params[:post_id])
@comment = Comment.find(params[:id])
@comment.destroy
respond_to do |format|
format.html { redirect_to post_comments_path(@post) }
format.xml { head :ok }
end
end
9
Desde hace algún tiempo, la opción confirm
tiene que ser incluido en un hash data
, de lo contrario se ignora silenciosamente:
<%= link_to 'Destroy', post_comment_path(@post, comment),
data: { confirm: 'Are you sure?' }, method: :delete %>
0
veces cuando tiene <span>
, <i>
o elementos anidados dentro de una etiqueta <a>
de esta manera link_to use is diffi culto. Puede inseted usar HTML puro que es fácil de manejar, así:
<a class="btn btn-sm" href="/blogs/<%[email protected]%>" data-method="delete">
<i class="pg-trash"></i><span class="bold">Delete</span>
</a>
+0
Todavía puede usar ** link_to ** en estos casos al pasar un bloque para definir el nombre del enlace: <% = link_to @blog, method:: delete, class: "btn btn-sm" do%> < i class = "pg-trash"> Eliminar <% end %> –
Cuestiones relacionadas
- 1. Creación de Enlace con Ruby on Rails
- 2. ¿Cómo crear un nuevo entorno en Ruby on Rails?
- 3. Crear archivo descargable en Ruby on Rails
- 4. Ruby on Rails: Cómo ordenar un collection_select
- 5. ¿Qué es ORM relacionado con Ruby on Rails?
- 6. cómo crear formularios de asistente en ruby on rails
- 7. ¿Cómo descomprimir un archivo en Ruby on Rails?
- 8. Copie un archivo en Ruby on Rails
- 9. Al crear un objeto en Ruby on Rails, ¿qué método de guardado prefiere y por qué?
- 10. Cómo: Ruby on Rails para construir un sitio básico
- 11. Ruby on Rails enviar
- 12. Configuración de Vim para Ruby on Rails
- 13. Eliminación por lotes de un solo paso en Ruby on Rails
- 14. Convierta un proyecto Ruby on Rails en un proyecto JRuby on Rails
- 15. ¿Hay algún método de Ruby on Rails para convertir un objeto modelo en una estructura HASH?
- 16. Intellisense para Ruby, Ruby on Rails, Python
- 17. Cómo dominar Ruby on Rails
- 18. Ruby on Rails: mostrar condicionalmente un
- 19. ¿Cómo funciona Ruby on Rails?
- 20. Ruby on Rails Switch
- 21. ¿Cómo eliminar duplicados en un hash en Ruby on Rails?
- 22. Funda/interruptor Ruby on Rails. ¿Cómo hacer coincidir el objeto?
- 23. Ruby vs. Ruby on Rails
- 24. Atributos de lazo sobre objeto en Ruby on Rails
- 25. Ruby on Rails will_paginate
- 26. ¿Cómo subir un archivo en ruby on rails?
- 27. Cómo crear un ancla y redirigir a este ancla específico en Ruby on Rails
- 28. Uso de un tenedor en Ruby on Rails para crear el proceso paralelo
- 29. ¿Cómo implementar un gráfico no dirigido en Ruby on Rails?
- 30. Barra de notificaciones en Ruby on Rails
También tiene que estar seguro de que tiene un <% = javascript_include_tag: todos los%> o etiqueta similar en su cabecera. De lo contrario, el enlace estará allí pero no respetará el: método =>: eliminar. Solo añadí este comentario porque eso me estaba acabando ahora ... – lacker
Nota rápida: 'javascript_include_tag: all' está privado en Rails> 3.1, el diseño de la aplicación tiene como valor predeterminado' = javascript_include_tag "aplicación" 'que logrará lo mismo – tehfoo
Me encontré con un problema donde mis enlaces AJAX estaban desconectando usuarios. Terminé teniendo que incluir las etiquetas CSRF en el diseño. Más información aquí: http://stackoverflow.com/questions/6434283/rails-3-ajax-delete-links-log-out-current-user#comment7719982_6507424 No está completamente relacionado con esta pregunta real, pero algunas personas pueden toparse con esto inesperadamente – Nick