I''m a Rails newbie (and a Ruby newbie for that matter). I am working my way through the book href="http://www.amazon.com/Simply-Rails-2- Patrick-Lenz/dp/0980455200/ref=sr_1_1? ie=UTF8&s=books&qid=1247152951&sr=8-1">"Simply Rails 2"</a>. I have generated the model and controller parts of the sample app, at which point the author instructs the reader to start the web server and view the app with their browser. Viewing http://localhost:3000/stories in my browser should display the file app/views/stories/index.html.erb, but instead displays the following error: Status: 500 Internal Server Error Content-Type: text/html 500 Internal Server Error Any ideas what might be causing this error? Please see the partial output from the server below: => Booting Mongrel (use ''script/server webrick'' to force WEBrick) => Rails application starting on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server ** Starting Mongrel listening at 0.0.0.0:3000 ** Starting Rails with development environment... ******************************************************************* * config.breakpoint_server has been deprecated and has no effect. * ******************************************************************* ** Rails loaded. ** Loading any Rails specific GemPlugins ** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart). ** Rails signals registered. HUP => reload (without restart). It might not work well. ** Mongrel 1.1.4 available at 0.0.0.0:3000 ** Use CTRL-C to stop. /!\ FAILSAFE /!\ Fri Jul 10 01:07:17 +1000 2009 Status: 500 Internal Server Error A secret is required to generate an integrity hash for cookie session data. Use config.action_controller.session = { :session_key => "_myapp_session", :secret => "some secret phrase of at least 30 characters" } in config/environment.rb /Library/Ruby/Gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ session/cookie_store.rb:91:in `ensure_secret_secure'' /Library/Ruby/Gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ session/cookie_store.rb:60:in `initialize'' ...
On Jul 9, 2009, at 8:49 AM, shusseina wrote:> > I''m a Rails newbie (and a Ruby newbie for that matter). I am working > my way through the book href="http://www.amazon.com/Simply-Rails-2- > Patrick-Lenz/dp/0980455200/ref=sr_1_1? > ie=UTF8&s=books&qid=1247152951&sr=8-1">"Simply Rails 2"</a>. > > I have generated the model and controller parts of the sample app, at > which point the author instructs the reader to start the web server > and view the app with their browser. > > Viewing http://localhost:3000/stories in my browser should display the > file app/views/stories/index.html.erb, but instead displays the > following error: > > Status: 500 Internal Server Error Content-Type: text/html > 500 Internal Server Error > > Any ideas what might be causing this error? > > > Please see the partial output from the server below: > > => Booting Mongrel (use ''script/server webrick'' to force WEBrick) > => Rails application starting on http://0.0.0.0:3000 > => Call with -d to detach > => Ctrl-C to shutdown server > ** Starting Mongrel listening at 0.0.0.0:3000 > ** Starting Rails with development environment... > > > ******************************************************************* > * config.breakpoint_server has been deprecated and has no > effect. * > > ******************************************************************* > > ** Rails loaded. > ** Loading any Rails specific GemPlugins > ** Signals ready. TERM => stop. USR2 => restart. INT => stop (no > restart). > ** Rails signals registered. HUP => reload (without restart). It > might not work well. > ** Mongrel 1.1.4 available at 0.0.0.0:3000 > ** Use CTRL-C to stop. > /!\ FAILSAFE /!\ Fri Jul 10 01:07:17 +1000 2009 > Status: 500 Internal Server Error> A secret is required to generate an integrity hash for cookie > session data. Use config.action_controller.session = { :session_key => > "_myapp_session", :secret => "some secret phrase of at least 30 > characters" } in config/environment.rbDid you do what it asks here? If that doesn''t help, see this for more info maybe... http://billkirtley.wordpress.com/2009/03/03/failsafe-handling-with-rails/> /Library/Ruby/Gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ > session/cookie_store.rb:91:in `ensure_secret_secure'' > /Library/Ruby/Gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ > session/cookie_store.rb:60:in `initialize'' > ... > > >
On Thu, Jul 9, 2009 at 11:49 AM, shusseina<s.anderson.au-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Viewing http://localhost:3000/stories in my browser should display the > file app/views/stories/index.html.erb, but instead displays the > following error: > > Status: 500 Internal Server Error Content-Type: text/html > 500 Internal Server Error > > Any ideas what might be causing this error?...> Status: 500 Internal Server Error > A secret is required to generate an integrity hash for cookie > session data. Use config.action_controller.session = { :session_key => > "_myapp_session", :secret => "some secret phrase of at least 30 > characters" } in config/environment.rbWell, it''s telling you how to fix it. You need to put something like config.action_controller.session = { :session_key = "-myapp_session", # where myapp should be the name of your application instead of myap :secret => "Some Random String at least 30 characters long, usually a long hexadecimal string" } somewhere inside the intializer block (which begins with) Rails::Initializer.run do |config| inside config/environment.rb You can and probably should use rake secret to generate the secret. -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale
Thanks guys. I generated the secret string using rake secret and added the code to config/environment.rb and that error has now disappeared. It seems the error came about because I started coding the app under Rails 1.2.6 and then upgraded to Rails 2.0.2 to be in line with the version used by the Simply Rails 2 book. As a newbie I don''t fully understand what rake can be used for, but I''m sure I''ll learn soon enough. Thanks again. On Jul 10, 2:02 am, Rick DeNatale <rick.denat...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On Thu, Jul 9, 2009 at 11:49 AM, shusseina<s.anderson...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > Viewinghttp://localhost:3000/storiesin my browser should display the > > file app/views/stories/index.html.erb, but instead displays the > > following error: > > > Status: 500 Internal Server Error Content-Type: text/html > > 500 Internal Server Error > > > Any ideas what might be causing this error? > ... > > Status: 500 Internal Server Error > > A secret is required to generate an integrity hash for cookie > > session data. Use config.action_controller.session = { :session_key => > > "_myapp_session", :secret => "some secret phrase of at least 30 > > characters" } in config/environment.rb > > Well, it''s telling you how to fix it. You need to put something like > > config.action_controller.session = { > :session_key = "-myapp_session", # where myapp should be the > name of your application instead of myap > :secret => "Some Random String at least 30 characters long, > usually a long hexadecimal string" > } > > somewhere inside the intializer block (which begins with) > Rails::Initializer.run do |config| > > inside config/environment.rb > > You can and probably should use rake secret to generate the secret. > > -- > Rick DeNatale > > Blog:http://talklikeaduck.denhaven2.com/ > Twitter:http://twitter.com/RickDeNatale > WWR:http://www.workingwithrails.com/person/9021-rick-denatale > LinkedIn:http://www.linkedin.com/in/rickdenatale
shusseina wrote: [...]> It seems the error came about because I started coding the app under > Rails 1.2.6 and then upgraded to Rails 2.0.2 to be in line with the > version used by the Simply Rails 2 book.The current version is 2.3.2. I *strongly* recommens that you use that to learn on, not 2.0.2.> > As a newbie I don''t fully understand what rake can be used for, but > I''m sure I''ll learn soon enough.Rake is designed to automate tasks. As you work with Rails, you will find that there are many common maintenance tasks that are generally automated by Rake (type "rake -T" for a list).> > Thanks again.Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.