7
votes

Form_TAG à distance dans Rails3 sans itinéraire nommé

Quelle est l'incantation appropriée pour faire cela réellement post de manière asynchrone?

form_tag :controller => :magic, :action => :search, :method => post, :remote => true do


0 commentaires

3 Réponses :


0
votes

Je pense que vous devez utiliser form_remote_tag à la place: xxx

La méthode http par défaut est la poste.

Si vous voulez passer Paramètres supplémentaires sur un form_tag Vous devez les transformer dans un hachage séparé des paramètres d'URL, comme celui-ci: xxx


1 commentaires

La réponse correcte consiste à séparer les deux paramètres de hachage, mais dans Rails 3 fonctionne avec form_tag et le paramètre : distance => true paramètre. Rails 3 vise à être insonorisé avec le JavaScript généré et la logique de l'envoi comme Ajax Demande est désormais du côté du client, avec le pilote JavaScript de votre choix. Voir railscasts.com/episodes/205-unobtrive-javascript



15
votes

Le seul moyen que j'ai trouvé pour le faire consiste à envelopper les paramètres d'URL dans la méthode URL_FOR. XXX

Toutefois, si vous avez besoin de passer le paramètre méthode , vous devrez peut-être envelopper cela et la télécommande entre parenthèses.


0 commentaires

10
votes

Voici ce dont vous avez besoin: XXX

Son type de mauvais design, mais les rails form_tag Les méthodes nécessitent deux hachages - l'URL_FOR OPTIONS HASH et le RÉGRÊTE options hachage. Cela a généré beaucoup de confusion pour de nombreux programmeurs de rails. Si vous n'ajoutez pas les limites de hachage de délimitation, toutes les options sont transmises à url_for (), en ruiner le : distant => vrai .

Ceci ajoutera Data-Remote = "vrai" à votre formulaire (à utiliser avec JavaScript discret, car d'autres ont mentionné). De là, vous devez créer l'ajax approprié à la liaison à la demande de faire la demande.

Bien que vous devriez vraiment utiliser une route nommée comme magic_search_path au lieu des paramètres du contrôleur / action. < / p>


1 commentaires

FYI, vous pouvez voir les deux options de hachage dans le prototype de méthode form_tag: Railsapi.com/doc/Rails-v3.0.7/classes/actionView/helpers/... .