2013-06-20 1 views
0

Je travaille sur un projet de rails qui prend l'entrée de l'utilisateur. Je veux être en mesure de montrer les valeurs de l'utilisateur dans l'URL et j'ai du mal à le faire.Rails stocker/afficher les valeurs dans l'URL

Par exemple, je récupère une entrée « limite »

limit = params[:limit] (where :limit = 10) 

Et je veux l'URL pour être quelque chose comme ça

www.someurl.com/myproject/limit="10" ou quelque chose

Répondre

1

l'URL que vous cherchez est www.someurl.com/myproject?limit=10

en supposant que vous avez un chemin myproject, vous pouvez:

link_to "Link Text", myproject_path(limit: 10) 

Dans votre contrôleur, vous serez alors:

limit = params[:limit] 

Si vous souhaitez définir une valeur par défaut de limite, vous pouvez utiliser:

limit = params[:limit] || 10 

ou

limit = params.fetch(:limit, 10) 
+0

merci. Quelle serait la bonne façon de l'acheminer alors? Aucun itinéraire ne correspond {: action => "show",: controller => "patient_record",: limit => 10} –

+0

apparaît. Vous devez disposer d'un ID pour utiliser l'action show. ou utilisez l'action d'index si vous voulez afficher plus de 1. –

0

Ce serait un cas d'utilisation parfait pour une requête get avec des paramètres. Si par exemple vous avez une aide d'URL appelé myproject_path qui retourne le chemin «/myproject », alors pourriez-vous faire quelque chose comme ceci:

myproject_path(:limit => 10) # this returns "/myproject?limit=10" 

Vous pouvez maintenant accéder à cette valeur comme vous le faites dans votre question (par params[:limit])

J'espère que cela répond à votre question?

Questions connexes