Nowy projekt nowy controller = something went wrong :(

Witam. Postanowilem zapoznac sie z railsami od praktycznej strony pczatkow ;]
postawilem railsy dociagnalem gemy zainstalowalem mongrela , utworzylem nowy projekt w oparciu o mysqla ktorego oczywiscie mam zainstalowanego jak i apacha , utworzylem nowego controllera … i kiedy chce wejsc z linka to wywala mi “something went wrong” mimo iz to sam szkielet ktory nie ma bata powinien dzialac ;d Co moge miec nie tak ? system to mandriva 2010.

rails test -d mysql create create app/controllers create app/helpers create app/models create app/views/layouts create config/environments create config/initializers create config/locales create db create doc create lib create lib/tasks create log create public/images create public/javascripts create public/stylesheets create script/performance create test/fixtures create test/functional create test/integration create test/performance create test/unit create vendor create vendor/plugins create tmp/sessions create tmp/sockets create tmp/cache create tmp/pids create Rakefile create README create app/controllers/application_controller.rb create app/helpers/application_helper.rb create config/database.yml create config/routes.rb create config/locales/en.yml create db/seeds.rb create config/initializers/backtrace_silencers.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/new_rails_defaults.rb create config/initializers/session_store.rb create config/environment.rb create config/boot.rb create config/environments/production.rb create config/environments/development.rb create config/environments/test.rb create script/about create script/console create script/dbconsole create script/destroy create script/generate create script/runner create script/server create script/plugin create script/performance/benchmarker create script/performance/profiler create test/test_helper.rb create test/performance/browsing_test.rb create public/404.html create public/422.html create public/500.html create public/index.html create public/favicon.ico create public/robots.txt create public/images/rails.png create public/javascripts/prototype.js create public/javascripts/effects.js create public/javascripts/dragdrop.js create public/javascripts/controls.js create public/javascripts/application.js create doc/README_FOR_APP create log/server.log create log/production.log create log/development.log create log/test.log [mariusz@localhost RoR]$ cd test [mariusz@localhost test]$ ruby script/generate controller home index exists app/controllers/ exists app/helpers/ create app/views/home exists test/functional/ create test/unit/helpers/ create app/controllers/home_controller.rb create test/functional/home_controller_test.rb create app/helpers/home_helper.rb create test/unit/helpers/home_helper_test.rb create app/views/home/index.html.erb [mariusz@localhost test]$ mongrel_rails start -p 3001 -d
Prosze o pomoc ;] a patrze pod linkiem takim : http://localhost:3001/home/index komunikat bledu :

"
We’re sorry, but something went wrong.

We’ve been notified about this issue and we’ll take a look at it shortly.
"

Odpal serwer bez -d i spójrz co Ci wypluje gdy wejdziesz na http://localhost:3001/home/index.

Zobacz w log/production.log, tam będzie opis błędu. Pewnie nie skonfigurowałeś sobie bazy danych w config/database.yml

btw Wygląda na to, że mongrel odpala Twoją aplikację w środowisku produkcyjnym. Zmień to, aby odpalał je w development, wtedy wszystkie błędy będziesz miał na ekranie, zamiast enigmatycznego, sorry somethigs went wrong…

A wiec tak … oto log development kiedy odpalam mongrela bez -d

# Logfile created on Thu Nov 19 10:00:53 +0100 2009/!\ FAILSAFE /!\ Thu Nov 19 10:01:01 +0100 2009 Status: 500 Internal Server Error Access denied for user 'root'@'localhost' (using password: NO) /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/mysql_adapter.rb:585:in `real_connect' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/mysql_adapter.rb:585:in `connect' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/mysql_adapter.rb:199:in `initialize' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/mysql_adapter.rb:71:in `new' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/mysql_adapter.rb:71:in `mysql_connection' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:223:in `send' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_connection' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_new_connection' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:188:in `checkout' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:184:in `loop' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:184:in `checkout' /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:183:in `checkout' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:98:in `connection' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:326:in `retrieve_connection' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_specification.rb:123:in `retrieve_connection' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_specification.rb:115:in `connection' /usr/lib/ruby/site_ruby/1.8/active_record/query_cache.rb:9:in `cache' /usr/lib/ruby/site_ruby/1.8/active_record/query_cache.rb:28:in `call' /usr/lib/ruby/site_ruby/1.8/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/head.rb:9:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in `call' /usr/lib/ruby/site_ruby/1.8/action_controller/params_parser.rb:15:in `call' /usr/lib/ruby/site_ruby/1.8/action_controller/session/cookie_store.rb:93:in `call' /usr/lib/ruby/site_ruby/1.8/action_controller/failsafe.rb:26:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `synchronize' /usr/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/lib/ruby/site_ruby/1.8/action_controller/dispatcher.rb:114:in `call' /usr/lib/ruby/site_ruby/1.8/action_controller/reloader.rb:34:in `run' /usr/lib/ruby/site_ruby/1.8/action_controller/dispatcher.rb:108:in `call' /usr/lib/ruby/site_ruby/1.8/action_controller/cgi_process.rb:44:in `dispatch_cgi' /usr/lib/ruby/site_ruby/1.8/action_controller/dispatcher.rb:101:in `dispatch_cgi' /usr/lib/ruby/site_ruby/1.8/action_controller/dispatcher.rb:27:in `dispatch' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:76:in `process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `synchronize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:159:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `each' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:282:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `each' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281 /usr/bin/mongrel_rails:19:in `load' /usr/bin/mongrel_rails:19
Na samej gorze widac cos o braku dostepu i o roocie. Dziwi mnie to gdyz projektu nie tworzylem jako root i wszystkie prawa dostepu zapisu powinny byc i dla zwyklego “mnie” ;p

odpalenie mongreli w -e production nie daje mi innych komunikatow bledow . Wciaz te same. “we’re sorry…”

Co do bazy to faktycznie nic w tym yaml’u ine zmienialem gdyz uznalem ze do wyswietlenia zwyklego “Hello Rails” na kij komu baza danych ^^

“Access denied for user ‘root’@‘localhost’ (using password: NO)” to komunikat MySQLa.
Znaczy w database.yml zostawiłeś puste pole “password”, podczas kiedy MySQL w Ubuntu od 9.04 nie pozwala na puste hasło roota ze względów bezpieczeństwa, więc na pewno jakieś ustawiłeś przy instalacji.

Dziekuje :slight_smile:

wpisalem haslo do mysql’a , jeszcze musialem utworzyc 3 bazy danych na development test i production :slight_smile: ale za to smiga glancko !

heh kto by pomyslal ze nawet jezeli sie nie korzysta z bazy to i tak trzeba sie do niej podlaczyc…

Domyślne jest założone, że korzystasz z bazy. Możesz bazę wyłączyć w inicjalizerze w config/environment.rb dodając linijkę:

config.frameworks -= [ :active_record ]

Jeśli nie chce Ci się bawić w konfigurację MySQL (gdybyś jednak potrzebował bazy) to jest też możliwość użycia SQLite3 - przynajmniej w początkowej fazie świetnie się sprawdza.

i ma fajnego menagera w postaci wtyczki do firefoxa https://addons.mozilla.org/en-US/firefox/addon/5817 :slight_smile:

…oraz w postaci aplikacji AIR http://www.dehats.com/drupal/?q=node/91 :wink:

A myslalem ze po moim poscie temat umrze ;p

Dzieki serdeczne jeszcze raz za wskazowki , i nie martwcie sie jeszcze kiedys Wam glowe pozawracam jak znow sie cos pojawi rownie arcy trudnego heh :slight_smile:

Nie bez powodu od zdaje się wersji 2.3.1 Railsy domyślnie korzystają z SQLite’a. Zamiast pisać:

rails test -d mysql

mogłeś wpisać:

rails test

Powyższy problem by się nie pojawił.