brandoshmando
brandoshmando

Reputation: 5

No Method Error - Undefined method 'chomp'

I am very new to Ruby on Rails and currently running through the Michael Hartl tutorial.I've started to get a crazy long error when trying to call any method. Doesn't matter which. The one below is from running:

rails generate controller StaticPages about --no-test-framework

And then I get the following error:

/Users/MYUSERNAME/rails_projects/sample_app/config/initializers/secret_token.rb:18:in `secure_token': undefined method `chomp' for #<Pathname:/Users/MYUSERNAME/rails_projects/sample_app/.secret> (NoMethodError)
from /Users/bcraft07/rails_projects/sample_app/config/initializers/secret_token.rb:27:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `load'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `block in load'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:214:in `load_dependency'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `load'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/engine.rb:609:in `block (2 levels) in <class:Engine>'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/engine.rb:608:in `each'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/engine.rb:608:in `block in <class:Engine>'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/initializable.rb:30:in `instance_exec'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/initializable.rb:30:in `run'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/initializable.rb:55:in `block in run_initializers'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:210:in `block (2 levels) in each_strongly_connected_component_from'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:209:in `block in each_strongly_connected_component_from'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/initializable.rb:44:in `each'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/initializable.rb:44:in `tsort_each_child'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:203:in `each_strongly_connected_component_from'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/initializable.rb:54:in `run_initializers'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/application.rb:215:in `initialize!'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/railtie/configurable.rb:30:in `method_missing'
from /Users/bcraft07/rails_projects/sample_app/config/environment.rb:5:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/application.rb:189:in `require'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/application.rb:189:in `require_environment!'
from /usr/local/rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/railties-4.0.2/lib/rails/commands.rb:44:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'

My assumption is that is as something to do with my RVM and the gems that I have. I know its a very long error and lot of it is unique to the project that I am working on but any help is greatly appreciated. Keep in mind that I'm serious noob!

Edit:

require 'securerandom'

def secure_token
token_file = Rails.root.join('.secret')
if File.exist? (token_file)
    #Use the existing token
    File.read token (token_file).chomp
else
    #Generate a new token and store it in token_file.
    token = SecureRandom.hex(64)
    File.write(token_file, token)
    token
end
end

SampleApp::Application.config.secret_key_base = secure_token

Upvotes: 0

Views: 1943

Answers (1)

Kaleidoscope
Kaleidoscope

Reputation: 3627

Replace chomp with to_s:

File.read token (token_file).to_s

Upvotes: 1

Related Questions