88 votes

Rails - Méthode indéfinie `stringify_keys'.

J'essaie de créer un bloc de code ruby pour quand un utilisateur clique sur le bouton retour. Je reçois l'erreur "undefined method `stringify_keys' for "/projects/11/steps/4":String". Le code fonctionne lorsque je supprime le do et le end. Comment ajouter un do à un link_to ?

    <%= link_to 'Back', project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>

    <% end %>

215voto

nzifnab Points 7542

Si vous utilisez la forme de bloc de link_to vous ne pouvez pas avoir de contenu textuel (le bloc est votre contenu textuel). Vous devez faire ceci :

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>
  Back
<% end %>

Cette fonction est généralement utilisée lorsque vous souhaitez que des images ou d'autres balises constituent le contenu du lien. C'est purement à des fins d'affichage. Le bloc ne vous donnera pas une fonctionnalité de type javascript, donc assurez-vous qu'un comportement d'affichage supplémentaire est ce que vous recherchez ici :)

18voto

Marlin Pierce Points 5558

Si vous passez un bloc, ne passez pas le nom du lien. Devrait être :

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>
  Back
<% end %>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X