Domanda

Mi chiedo se il: con l'attributo viene rimosso dal Rails3 poiché non riesco a trovare nulla nel api Rails3 - http : //rails3api.s3.amazonaws.com

qualcuno ha un indizio o dare un suggerimento su come utilizzare il: parametro per inviare i dati con un link_to

non funzionante esempio:

= link_to "Foo", {:action => "filter", :filter => "filter1",:with => "'test='+$('search').value"}, :remote => true, :class => "trash unselected", :id => "boo"

grazie!

È stato utile?

Soluzione

Questo va contro il punto di non-obstrusive javascript ed è per questo che è stato rimosso. Provate a guardare il Railscast su questo argomento qui: http://railscasts.com/episodes/205- discreto-javascript

Si dovrebbe cercare un altro modo di fare questo.

Altri suggerimenti

ero alle prese con questo oggi e dopo un po 'mi si avvicinò con piccolo hack in rails.js. Nel metodo handleRemote Ho cambiato questo:

} else {
    method = element.attr('data-method');
    url = element.attr('href');
    data = null;
}

a questo:

} else {
    method = element.attr('data-method');
    url = element.attr('href');
    data = eval(element.attr('data-with'));
}

Grazie di a che ora posso usare link_to: a distanza in questo modo:

<%= link_to "link", some_path, :remote => true, 'data-with' => "'address=' + $j('#office_address').val();" %>

Nota: questo è valido solo se si sta utilizzando jQuery, ma non dovrebbe essere difficile applicare questo per il prototipo

C'è però un modo di lavorare intorno ad esso.

Utilizzare questa nella vista come una linea guida:

link_to "Foo", {:action => "filter", :filter => "filter1"}, {:remote => true, :class => "trash unselected", :id => "boo", 'data-with' => "'&test='+$('search').value"}

(spostato: con la seconda parte e reso 'dati con')

e aggiungere questo alla parte inferiore:

<script type="text/javascript" charset="utf-8">
  $$('a[data-remote=true]').each(function(a){
    a.onclick = function(){a.setAttribute('href', a.getAttribute('href') + eval(a.getAttribute('data-with')))};
  });
</script>

, naturalmente, è necessario disporre di prototipo caricata (è nelle javascript di default di un app rotaie)


Per qualcosa di un meglio di questo one-liner: http://gist.github.com/451508

Utilizzando il succo del discorso non è necessario per iniziare:? Con con il & o

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top