rails multiple link_to_if link_to link example ruby-on-rails ruby-on-rails-3

ruby-on-rails - multiple - rails link_to controller action



rails 3-link_to para destruir no funciona (9)

  1. siga los pasos en la instalación parte rails/jquery-ujs
  2. agregue la aplicación <% = javascript_include_tag "%> en su archivo de diseño.

Intento crear un enlace de destrucción para el controlador de mis usuarios, también estoy usando el dispositivo.

Aquí está mi código:

Ver

<%= link_to ''Delete User?'', child, :confirm => "Are you sure you want to delete #{child.full_name}?", :method => :delete, :class => "user-additional", :style => "font-size:12px;font-weight:normal;" %>

Controlador

def destroy if @user = User.find(params[:id]) @user.destroy respond_to do |format| format.html { redirect_to account_index_path } format.xml { head :ok } end end end

Rutas

devise_for :users resources :users, :except => [:new]

El enlace se traduce a localhost: 3000 / users / 10

Al hacer clic se abre, los usuarios muestran en lugar de eliminarlos

Algunas ideas ?



En caso de que esté utilizando jQuery en lugar de Prototype, es probable que le falte un archivo javascript.

Puede encontrar detalles sobre cómo agregarlo a su proyecto desde la página jquery-ujs GitHub o desde el episodio 205 de Railscasts.


En realidad acabo de tener exactamente el mismo problema ayer

Prueba esto:

<%= button_to "delete", your_object, :method=>:delete, :class=>:destroy %>

Funciona (al menos para mí)


Funcionó para mí con un mensaje de confirmación.

<%= button_to ''Destroy'', {action: :destroy, id: version.id}, onclick: ''return confirm("Are you sure?")'', method: :delete %>



Si está utilizando jQuery, asegúrese de tener algo como esto:

<script type="text/javascript"> // this allows jquery to be called along with scriptaculous and YUI without any conflicts // the only difference is all jquery functions should be called with $j instead of $ // e.g. $jQ(''#div_id'').stuff instead of $(''#div_id'').stuff var $jQ = jQuery.noConflict(); </script>


Si no ha incluido jquery y jquery-ujs en su aplicación, ¡el enlace por defecto predeterminado con andamio no funcionará!

Tuve el mismo problema. ¡Se resolvió después de incluir estos dos js!


Supongo que es porque en Rails 3, javascript discreto ahora se utiliza para una funcionalidad como esta (Rails 2 generaría un montón de desagradable javascript en línea para su código, Rails 3 coloca el javascript en un archivo externo y usa HTML5 data- atributos para interactuar con eso.)

Para resolver esto, debe incluir <%= csrf_meta_tags %> en el encabezado de su página para hacer referencia al javascript externo. También se ocupa de los problemas de XSS.

Algunos detalles aquí: Eliminar enlace envía "Obtener" en lugar de "Eliminar" en la vista de Rails 3