Ü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>
- 1157 megtekintés
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 :)
- A hozzászóláshoz be kell jelentkezni
Tipp: gemeket _sose_ telepits a disztibuciod csomagkezelojevel. Garantalt szopasok felaron!
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
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 hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
A hajónaplónak megválaszolom:
rake db:migrate RAILS_ENV="production"
de config/environment.rb fájlba is be lehet tenni a
RAILS_ENV="production"
sort.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Igen, de attól még, hogy a passenger-ben be van állítva, szükség lehet rake db:migrate parancsra, nem?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni