The error occurred while evaluating nil.to_sym


Hello guys,

I’ve been developing in Ruby for a few months and I am starting to
work with Rails. I am having a problem right from the start and I
think I am not doing anything wrong. I have performed the following

  1. run rails test
  2. run script/server and it works perfectly connecting to the database
    without problems (sqllite)
  3. run script/generate scaffold release_notes title:string
    version:string content:text
  4. rake db:migrate
  5. shutdown the server and start it again
  6. http://localhost:3000/release_notes/new and it works just fine
  7. After I click on create I get the error below. I have checked that
    removing all the “link_to” entries the error disappear. any ideas?
    what am I forgetting?

NoMethodError in Release_notes#index
Showing release_notes/index.html.erb where line #15 raised:

You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.to_sym

Extracted source (around line #15):


<%=h release_notes.title %>
13: <%=h release_notes.version %>
14: <%=h release_notes.content %>
15: <%= link_to ‘Show’, release_notes %>
16: <%= link_to ‘Edit’, edit_release_notes_path(release_notes)
17: <%= link_to ‘Destroy’, release_notes, :confirm => ‘Are you
sure?’, :method => :delete %>

RAILS_ROOT: /Users/gacilu/Knowledge Administration/Koiaka Project/

Application Trace | Framework Trace | Full Trace
action_controller/routing/route.rb:145:in extra_keys' /usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/ action_controller/routing/route.rb:145:inmap’
action_controller/routing/route.rb:145:in extra_keys' generated code (/usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/ actionpack-2.1.1/lib/action_controller/routing/route.rb:45):3:ingenerate’
action_controller/routing/route.rb:122:in generate' /usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/ action_controller/routing/route_set.rb:337:ingenerate’
action_controller/url_rewriter.rb:131:in rewrite_path' /usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/ action_controller/url_rewriter.rb:110:inrewrite_url’
action_controller/url_rewriter.rb:88:in rewrite' /usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/ action_controller/base.rb:622:inurl_for’
action_view/helpers/url_helper.rb:71:in url_for' (eval):17:inrelease_notes_path’
_run_erb_47app47views47release_notes47index46html46erb' app/views/release_notes/index.html.erb:10:ineach’
_run_erb_47app47views47release_notes47index46html46erb' app/controllers/release_notes_controller.rb:7:inindex’
:1:in `initialize’




this should have a path
<%= link_to ‘Show’, release_notes %>
<%= link_to ‘Show’, release_note_path(release_notes) %>
or whatever you defined in your routes


Thanks for your answer.
I have not defined anything in the routes yet. If I did not do any
shouldn’t the generated file work from the beginning?



I have the same probleme, but the route is setted :
“map.ressources :myaction”

First all methods *_action_path don’t work (unknow by RoR) but they were
created by scaffolding so it’s supposed to exist ??

And if I use the trick “release_note_path(release_notes)” instead of
just use linkto the object, I have this f***cking error too :
“You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.to_sym”

I just found a topic talking about it
but the guy seems to give up and put all links without linkto. But for
my apps the probleme is every where and not just for one action.

Really strange …


Hi Benoit,

On Mon, 2009-06-15 at 01:36 +0200, Benoit M. wrote:

I have the same probleme, but the route is setted :
“map.ressources :myaction”

You sure the spelling error above hasn’t found its way into your code?

Best regards,


I have to stop drugs really …
Last night I used something like ./script/generate scaffold nameS …
If I put an S on the scaffold name, every thing is weel generated except
the model who take an ‘S’. I suppose that’s why RoR failed so badly.

But it’s strange because ‘controller’path was working instead of
’controller’path and delete’controller’_path were unknew by RoR.

Anyway, thank you for the help. I were not able to find this ‘S’ by my

  1. run script/generate scaffold release_notes title:string
    version:string content:text

Try like
./script/generate scaffold ReleaseNote title:string version:string