Rails: link_to avec bloc et OBTENIR params?
Comment puis-je obtenir une chaîne de requête et des paramètres d'URL dans un link_to
bloc de déclaration? Maintenant, j'ai ce qui fonctionne:
<%= link_to 'Edit', :edit, :type => 'book', :id => book %>
Les travaux ci-dessus, et les sorties:
http://localhost:3000/books/edit/1?type=book
Ce que je veux faire, c'est quelque chose comme ceci:
<% link_to :edit, :type => 'book', :id => book do %>
...
<% end %>
Mais le format ci-dessus sorties:
http://localhost:3000/books/edit/
Ce qui n'est pas ce que je cherche... je le veux à la sortie d'une URL du type de l'exemple précédent.
Comment puis-je y parvenir?
OriginalL'auteur ground5hark | 2010-04-26
Vous devez vous connecter pour publier un commentaire.
link_to
prend les mêmes options queurl_for
.cela dit, il n'y a pas deComme mentionné par Tom dans une réponse à cette réponse, le passage d'un bloc à:type
option, et il n'a pas vraiment d'accepter blocs, de sorte que je suppose que la raison pour laquelle le votre deuxième exemple fonctionne est parce qu'il est situé à l'intérieur de la portée d'un Livre de vue.link_to
peut être utilisé comme un remplacement pour le premier argument (le texte du lien).Si le Livre est une ressource, vous pouvez obtenir le
link_to
aide à générer l'URL que vous cherchez en passant l'un de la pratique, généré automatiquement itinéraires des ressources rails fait pour vous. Exécuterrake routes
avant d'essayer ceci:Sinon, vous pouvez le mentionner explicitement ce contrôleur/action vous souhaitez mettre un lien vers:
Heureux de piratage.
EDIT: Presque oublié, vous POUVEZ ajouter des chaînes de requête en contournant dans APRÈS la déclaration de l'id de l'objet que vous créez un lien.
Serait produit
/books/1/edit?query1=value&query2=value
. Sinon:<a>tags</a>
. railsapi.com/doc/rails-v2.3.5/classes/ActionView/Helpers/...OriginalL'auteur Damien Wilson
Essayer Follwing
ou pour atteindre la même url
OriginalL'auteur Salil
Ruby ne sais pas si vous êtes l'envoi de la
do ... end
bloc delink_to
oubook
, et de l'envoyer àbook
parce qu'il est plus proche du bloc.book do ... end
retournenil
, de sorte que vous êtes de gauche aveclink_to :edit, :type=>'book', :id=>nil
. Vous aurez besoin de support les paramètres, et pendant que vous y êtes, j'ai de la réécrire pour qu'il soit plus compréhensible avec un contrôleur, de l'action, de la configuration de l'id:link_to{:controller=>"books",:action=>"edit",:id=>book}do ... end
OriginalL'auteur Ryan
dans mime_types.rb fichier ajouter:
Mime::Type.registre "text/application", :livre
OriginalL'auteur Sandy XU