[megoldva] Ruby on Rails /script/server -el megy, passanger-el nem

Üdv! Elkezdtem tanulni RoR-t, remek dolog, tényleg fényévekkel értelmesebb, mint bármelyik PHP framework, a nyelvről nem is beszélve. Viszont beleakadtam egy apró problémába. Beállítottam egy phusion passanger szervert és mindegyik contollerem ezt a hibát adja vissza: We're sorry, but something went wrong. Élőben itt lehet megnézni, amig ki nem javítottam: http://ruby.eperpalanta.hu/rails/info/properties Ez egy debian lenny-vel telepített VPS, a Rails alkalmazást pedig Aptana Radrails-al fejlesztem.

A log/* fájlok üresek.

Ha viszont a scripts/server parancsot futtatom, a 3000-es porton minden tökéletesen működik:

Ruby version 1.8.7 (i486-linux)
RubyGems version 1.3.4
Rack version 1.0
Rails version 2.3.4
Active Record version 2.3.4
Active Resource version 2.3.4
Action Mailer version 2.3.4
Active Support version 2.3.4
Application root /var/customers/webs/eper/ruby
Environment development
Database adapter sqlite3
Database schema version 0

Gondolom, hogy ez egy olyan probléma, ami 1 perc alatt megoldható, de elsőre rájönni nekem napokba kerülne. Remélem találkozott már valaki ugyanezzel és tud segíteni, amit hálásan meg fogok köszönni. Esetleg még a gem list is fontos lehet:


*** LOCAL GEMS ***

actionmailer (2.3.4)
actionpack (2.3.4)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (2.3.4)
archive-tar-minitar (0.5.2)
cgi_multipart_eof_fix (2.5.0)
columnize (0.3.1)
daemons (1.0.10)
echoe (3.2)
eventmachine (0.12.8)
fastthread (1.0.7)
gem_plugin (0.2.3)
highline (1.5.1)
json (1.1.9)
linecache (0.43)
mkrf (0.2.3)
mysql (2.8.1)
rack (1.0.0)
rails (2.3.4)
rake (0.8.7)
ruby-debug (0.10.3)
ruby-debug-base (0.10.3)
ruby-debug-ide (0.4.9)
ruby_core_source (0.1.4)
rubyforge (2.0.1)
sqlite3-ruby (1.2.5)
thin (1.2.4)

Az apache konfig része a virtualhosthoz (bár szerintem ez nem lényeges)


<VirtualHost ip.ip.ip.ip:80>
  ServerName ruby.eperpalanta.hu
  ServerAlias www.ruby.eperpalanta.hu
  ServerAdmin email@címem
  DocumentRoot "/var/customers/webs/eper/ruby/public/"
  php_admin_flag safe_mode Off
  Alias /webalizer "/var/customers/webs/eper/webalizer"
  ErrorLog "/var/customers/logs/eper-error.log"
  CustomLog "/var/customers/logs/eper-access.log" combined
</VirtualHost>

Hozzászólások

Ok, felraktam gem-ből a passengert (eddig a phusion tárolóból volt), most már működik. Azt hittem több idő lesz rájönnöm a hiba okára, tegnap este minimum 3 órát ezel foglalkoztam :)

Köszönöm.

Még valami: van ugye a development adatbázisom, azt hogyan érdemes legegyszerűbben kirakni production adatbázisba? Úgy hallottam, a RoR-nek zseniális adatbáziskezelése van, ezért gondolom, hogy nem az sqldump-al kell szórakozni illetve sqlite esetén nem a fájlokat kell átmásolni. Vagy de?

A development adatbazis tartalmat ertelmes ember nem masolgatja at a prod adatbazisba, mert a developmentbe mindenfele hulyesegek szoknak lakni. A developmentbol hivatalosan amugy csak a test kornyezetbe torteno masolas van tamogatva.

Kulonben pedig a RoR adatbaziskezelese inkabb a modellek koruli adatbaziskezelesben merul ki, nem az adatbazis-manager kepessegeiben. Szoval en inkabb az SQL dumpot javaslom, ha megis ilyen botor dolgokon torned a fejedet.

Azert szerintem olvasgass utana a production deploymentnek, mielott belevagnal valami nagyon rosszba.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

ok, már én is rájöttem, hogy valamit rosszul csinálok és nem így kellene, a development-ben egy blog esetében pl mindenféle lorem ipsum szövegnek kellene lennie.

Viszont amikor svn-ből átrakom az alkalmazásomat éles környezetbe, a production adatbázisom üres és a rake db:create parancs a development adatbázist hozza létre, illetve a db:migrate a development adatbázist frissíti. Hogyan állíthatom át ezt production-ra? environment.rb -ben?

Mégegyszer köszönöm, hogy szabadidődben válaszolsz :) Egyébként nincs RoR fórum, ahol ezeket a kezdő kérdéseket már megválaszolták?

Oda ne tegy ilyeneket.

Altalaban, ahol rails alkalmazasokat hostolunk, ott kornyezeti valtozoba ki szokas exportalni, hogy RAILS_ENV=production.

A config/environment.rb -be pedig azert nem szukseges tenni, mert a Passenger automatikusan beallitja, es ha te is beallitod, akkor elveszted azt a lehetoseget, hogy passengerrel allitsd be a RAILS_ENV erteket.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Ja.


rake db:migrate RAILS_ENV=production

Egyebkent ezert mondtam a valtozo kornyezeti valtozokent torteno kiexportalasat, mert akkor minden rails-os parancs automatikusan production kornyezetben indul el, extra parameterezes nelkul. Persze ez csak akkor mukodhet, ha a development gep != hosting gep.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.