Reszta aplikacji gdzie nie mam takiej konstrukcji działa.
Wydaje mi się że na serwerze mam wyższe railsy niż na localhost. Mam na lapku zainstalowane 2.3.5 i 2.3.4. Ale nie za bardzo umiem określić pod jaką faktycznie wersją działa mi aplikacja.
W pliku environments.rv mam: RAILS_GEM_VERSION = ‘2.3.5’ unless defined? RAILS_GEM_VERSION
nie wiem czego to nie działa, ale ja bym w głowyn widoku po prostu:
<%= render :partial => @yellowcards%>
A później w widoku zamiast “i” używałbym “yellowcard”. I tak chyba wyjdzie mniej pisania, a za parę mięsięcy łatwiej się połapiesz co partial wyświetla.
Dzięki wielkie, ale dalej mnie to szokuje, że coś co działa mi na lapku nie chce zadziałać na serwerze właściwym.
Sporo mam kodu do pozamieniania, myślę że może mi to zająć cały dzień
Będąc w folderze z aplikacją wpisz ruby script/about
aby wyświetlić dokładne informacje nt. używanych wersji railsów i rubiego.
Zainteresuj się również:
rake rails:freeze:edge # Lock to latest Edge Rails, for a specific release use RELEASE=1.2.0
rake rails:freeze:gems # Lock this application to the current gems (by unpacking them into vendor/rails)
Będziesz pewny, że aplikacja na serwerze produkcyjnym działa na dokładnie takiej wersji railsów jakiej oczekujesz.
praca@tomek-laptop:/media/sda2/Programowanie/Ruby/Rails$ ruby script/about
About your application's environment
Ruby version 1.8.7 (i486-linux)
RubyGems version 1.3.5
Rails version 2.2.3
Active Record version 2.2.3
Action Pack version 2.2.3
Active Resource version 2.2.3
Action Mailer version 2.2.3
Active Support version 2.2.3
Edge Rails revision unknown
Application root /media/sda2/Programowanie/Ruby/Rails
Environment development
Database adapter mysql
Database schema version 20100114120345
praca@tomek-laptop:/media/sda2/Programowanie/Ruby/Rails$
Gemy z Lapka
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
acts_as_list (0.1.2)
acts_as_tree (0.1.1)
calendar_date_select (1.15)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.7)
gem_plugin (0.2.3)
mongrel (1.1.5)
rack (1.0.1)
rails (2.3.5)
rake (0.8.7)
Widzę teraz wyraźnie że moja aplikacja jest napisana w rails 2.2.3
Dziękuję za zainteresowanie tematem. Jednak może mi ktoś powiedzieć jak wymusić wyższą wersję rails.
Wpis w environment.rb: RAILS_GEM_VERSION = ‘2.3.5’ unless defined? RAILS_GEM_VERSION chyba nie pomoże
chyba też już wiem skąd się wzięła ta wersja 2.2.3. Po prostu zainstalowałem sobie ją z oficjalnych repozytoriów Ubuntu, a nie za pomocą gem-a
Dlatego polecenie rails generowało mi projekt w starych railsach. Czy ktoś może mi powiedzieć jak zrobić tak aby projekt mój był w wyższych railsach.
Wiem że nie obędzie się bez przepisania części kodu. Myślałem o tym żeby stworzyć nowy projekt w Rails 2.3.5 i przekopiować odpowiednie plik z app, itd?
[quote=axlinux]Dlatego polecenie rails generowało mi projekt w starych railsach. Czy ktoś może mi powiedzieć jak zrobić tak aby projekt mój był w wyższych railsach.
Wiem że nie obędzie się bez przepisania części kodu. Myślałem o tym żeby stworzyć nowy projekt w Rails 2.3.5 i przekopiować odpowiednie plik z app, itd?[/quote]
Zrób nową gałąź w gicie i i po prostu na bierząco poprawiaj błędy, które będą się pojawiały. Najwięcej kłopotów możesz mieć z pluginami, jeśli masz je w vendor/plugins. W samym projekcie nie powinno być wielu problemów.
Również polecam wywalenie railsów z apt-geta, miałem podobny przypadek jak tpl. Rubygems i rake miałem chyba zainstalowane z repozytoriów i nie było z tym problemów, ale lepiej zrobić tak jak pisze drogus.