Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails - Undefined method `stringify_keys'

I'm trying to create a block of ruby code for when a user clicks on the back button. I'm getting the error "undefined method `stringify_keys' for "/projects/11/steps/4":String". The code works when I get rid of the do and end. How do I add a do to a link_to?

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

    <% end %>
like image 996
scientiffic Avatar asked Feb 20 '13 17:02

scientiffic


2 Answers

If you're using the block form of link_to you can't have text content (the block is your text content). You'd need to do this:

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

Typically this is used when you want to have images or other tags as the contents of the link. It's purely for display purposes. The block will not give you javascript-like functionality, so make sure additional display behavior is what you're looking for here :)

like image 88
nzifnab Avatar answered Oct 22 '22 15:10

nzifnab


If you pass a block then do not pass the link name. Should be:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>
  Back
<% end %>
like image 25
Marlin Pierce Avatar answered Oct 22 '22 17:10

Marlin Pierce