Scaffold i Rails 2+

Witam, swoją przygodę z rubim i railsem postanowiłem zacząć od tworzenia koszyka internetowego (z pomocą książek) i natknąłem się na taki problem:

class AdminController < ApplicationController scaffold :produkt end
i ten kod nie działa w mojej wersji Railsa

Rails 2.0.2 Ruby 1.8.6 <2007-09-24 patchlevel 111> [i386-mswin32]
P.S. Ksiązki pisane były na:

Rails 1.1.6 Ruby 1.8.5 <2006-08-25> [i386-mswin32]
Pozdrawiam i proszę o pomoc.

P.S. Próbowałem tego V ale niestety to nie pomogło.

http://davidlynch.org/blog/2008/01/rails-20-scaffolding/

oraz

http://www.leonardoborges.com/writings/2007/12/21/rails-20-scaffold/

naukę jazdy też robiłeś na fordzie T ?
weź coś nowszego, railsy 3.0.7, pooglądaj railscasty, a jeśli już koniecznie musisz używać scaffoldów, to użyj nifty scaffold :wink:

Spróbuje z aktualizować railsy.

A błędy które mam to:

[code]NoMethodError in AdminController#index

undefined method `scaffold’ for AdminController:Class

RAILS_ROOT: C:/instruby/www/work/koszyk
Application Trace | Framework Trace | Full Trace

app/controllers/admin_controller.rb:2

Request

Parameters:

None

Show session dump
Response

Headers:

{“cookie”=>[],
“Cache-Control”=>“no-cache”}[/code]
A co do aktualizacji:

[code=konsola]C:\instruby\www\work\koszyk>gem update rails --include-dependencies
Updating installed gems…
ERROR: While executing gem … (Gem::RemoteSourceException)
HTTP Response 302 fetching http://gems.rubyforge.org/yaml

C:\instruby\www\work\koszyk>rails -v
Rails 2.0.2[/code]

Ja bym od razu zaczął od Rails3.1

Ta… ja też nie mam nic przeciwko, tylko jak to zaktualizować teraz? Instalowałem wszystko przez Instant Rails.

jeżeli już musisz używać windowsa, to wywal instant railsy, zainstaluj rubyinstallera i działaj :wink:

a to niby czemu? 3.1 wciąż nie są w 100% stabilne, poza tym wprowadzają troszkę dodatkowej magii, której początkującemu lepiej oszczędzić. Ja wybrałbym 3.0.7 do nauki :wink:

Jest przecież 3.0.9 jeszcze pomiędzy ; )

generalnie zacząłbym od tego, w jakiej wersji jest angielski przewodnik.

[quote=krzyzak]jeżeli już musisz używać windowsa, to wywal instant railsy, zainstaluj rubyinstallera i działaj :wink:

a to niby czemu? 3.1 wciąż nie są w 100% stabilne, poza tym wprowadzają troszkę dodatkowej magii, której początkującemu lepiej oszczędzić. Ja wybrałbym 3.0.7 do nauki ;)[/quote]
Oj tam oj tam, stoliczku.pl jedzie na 3.1 i żadnych problemów nie ma :wink:

Przy developmencie i tak ma to małe znaczenie.

a to niby czemu? 3.1 wciąż nie są w 100% stabilne, poza tym wprowadzają troszkę dodatkowej magii, której początkującemu lepiej oszczędzić.[/quote]
Każdą magię Rails trzeba sobie prędzej czy później oddemitologizować, im wcześniej tym lepiej. Głównie dlatego bym tak zrobił, że zanim kolega się nauczy paru rzeczy, popróbuje itp to te railsy już wyjdą. Nie ma nic gorszego w świecie rails niż to uczucie, że nauczyłeś się wszystkich nowych sztuczek z jednych railsów i już wychodzą nowe :slight_smile: Nauczy się kolega 3.0, dostanie nowy projekt w 3.1 i znów do nauki i czytaj na różnych blogach co tam dodali a co odejeli i po co są te nowe foldery i jakie są nowe konwencje. A tak od razu z marszu to wszystko poznajesz w ramach zapoznawania się z frameworkiem. edgeguides i do przodu :slight_smile:

Zdecydowanie lepiej zaczynać jest od wersji wcześniejszej, żeby zaraz potem dowiedzieć się o zajebistych smaczkach najnowszej wersji (fajnie rozwiązane assety na przykład) i później na nowo się tego uczyć, zmieniając przy tym aplikację :> tjaaa :slight_smile:

Obawiam się tylko o szok. Z 2.0 na 3.1 to nie w kij dmuchał upgrade :slight_smile:

Ach, nie spojrzałem, że guides są jeszcze dla 3.0.9, a to akurat może wprowadzić zamieszanie. Jak tylko guidesy będą do 3.1, to przesiadałbym się właśnie na tą wersję, bo zmian tak naprawdę nie ma dużo. Nauka się rządzi innymi prawami - nie trzeba się bać, że aplikacja na produkcji padnie :slight_smile:

Główna zmiana to zarządzanie assetami, reszta jest niezauważalna, jeśli nie chce się korzystać. A jak już się zechce, to są zajebiste - w końcu attr_accessible w zjadliwy sposób, http streaming, fajne has_secure_password i kilka innych smaczków.

Tu jest edge http://edgeguides.rubyonrails.org/

Cześć wam. Poddaje się!

Skasowałem instant railsa i ściągnołem ruby instalera. Zainstalowałem go w C;\ror\

wchodzę w bin i odpalam ruby.exe wyskakuje konsola i nic zero kontaktu nawet help nie działa…
a jak wchodze w CMD windowsa

[code]cd C:\ror\bin
C:\ror\bin>ruby -v
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]

C:\ror\bin>rails -v
Rails 3.0.9[/code]
WOW!?
Więc teraz postanowiłem zintegrować to z Xamppem bo i tak na ogół go używam a ma już APACHE i MySQL’a.
Znalazłem TUTORIAL [link]http://pandazen.wordpress.com/2009/10/21/how-to-install-ruby-on-rails-running-xampp-on-windows-hello-world-ruby/[/link]
zmodyfikowałem plik httpd.conf, i zainstalowałem wszystkie gemy czy co to tam jest po kolei (w międzyczasie wyskakiwały jakieś błędy ale wszystkie gemy były na 1oo%. Później stworzyłem nową aplikację w moim kochanym XAMPPIE w httdocs/rubyonrails,a przynajmniej próbowałem bo po 33343942 wpisach rails myapp, postanowiłem przeczytać co mi tam napisało. rails new APP i jest! nie jednak nie. Coś wyskoczyło bundle gems czy jakoś tak. Zainstalowałem to i w końcu stowrzyłem aplikacje. Dobra stwórzmy jej baze danych! To też nie jest proste bo nie mam żadnego Mysqla który czyta. Mimo modyfikacji pliku w xampie ruby? no w cmd ruby nadal nie czyta. Wiec to porzuciłem i chciałem włączyć server , a po 2537089759837 wpisach ruby script\server znalazłem rails server.
5…
4…
3…
2…
1…
Przestał myśleć i:

[code=railsserver"]C:\ror\bin>cd C:\xampp\htdocs\rubyonrails\

C:\xampp\htdocs\rubyonrails>cd C:\xampp\htdocs\rubyonrails\koszyk

C:\xampp\htdocs\rubyonrails\koszyk>rails server
C:/ror/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite3.rb:6:in r equire': no such file to load -- sqlite3/sqlite3_native (LoadError) from C:/ror/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlit e3.rb:6:inrescue in <top (required)>’
from C:/ror/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlit
e3.rb:2:in <top (required)>' from C:/ror/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime. rb:68:inrequire’
from C:/ror/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.
rb:68:in block (2 levels) in require' from C:/ror/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime. rb:66:ineach’
from C:/ror/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.
rb:66:in block in require' from C:/ror/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime. rb:55:ineach’
from C:/ror/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.
rb:55:in require' from C:/ror/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler.rb:120:i nrequire’
from C:/xampp/htdocs/rubyonrails/koszyk/config/application.rb:7:in <top (required)>' from C:/ror/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/commands.r b:28:inrequire’
from C:/ror/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/commands.r
b:28:in block in <top (required)>' from C:/ror/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/commands.r b:27:intap’
from C:/ror/lib/ruby/gems/1.9.1/gems/railties-3.0.9/lib/rails/commands.r
b:27:in <top (required)>' from script/rails:6:inrequire’
from script/rails:6:in `’

C:\xampp\htdocs\rubyonrails\koszyk>

C:\xampp\htdocs\rubyonrails\koszyk>[/code]
a i w tle wyskoczyło:

Nie można uruchomić programu, ponieważ na komputrzerze nie znaleziono sqlite3.dll. Spróbuj ponownie zainstalować program, aby naprawić ten problem.

Ponownie zainstalować??! A jest jakaś wersja dla blondyna? :stuck_out_tongue:
P.S. I nie nie zmienię windowsa na coś.

Z góry dzięki za pomoc. i sorry nie znam bbcodu :frowning:

Nie ma, ale poszukać można w google.
http://blog.wilgucki.pl/2011/06/windows-rails-server-sqlite-problem.html

So… buckle your seatbelt, Dorothy, 'cause Kansas is going bye-bye. Szukuj się że będzie tylko gorzej, trudniej, wolniej, po prostu bardziej przeje…ane pod tym windowsem.

WoW. Dzięki za pomoc, a teraz pytanko jak utworze w php my admin bazę danych to będzie ok? Czy jak to zrobić. bo ten rails jest całkowicie odmienny :slight_smile:
Wcześniej robiłem to tak: wpisywałem mysql -u root koszyk_baza
Później generowałem model a tam w pliku migracji dodawałem całą baze danych.

[code]C:\xampp\htdocs\rubyonrails\koszyk>mysql -u root koszyk_baza
Nazwa ‘mysql’ nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne,
program wykonywalny lub plik wsadowy.

C:\xampp\htdocs\rubyonrails\koszyk>rake db:create
db/test.sqlite3 already exists
db/development.sqlite3 already exists

C:\xampp\htdocs\rubyonrails\koszyk>rake db:create
db/test.sqlite3 already exists
db/test.sqlite3 already exists
rake aborted!
uninitialized constant Mysql

Tasks: TOP => db:create
(See full trace by running task with --trace)

C:\xampp\htdocs\rubyonrails\koszyk>[/code]

W config/database.yml masz domyślnie ustawioną bazę sqlite3. Możesz tam ustawić mysql, wtedy rake db:create utworzy bazę mysql. Domyślne środowisko to development.

Polecam to zostawić w spokoju, używać sqlite3 i robić tutorial. :slight_smile:

Proponuję nie stawiać tak zdecydowanych stwierdzeń, jak “nie zainstaluje nic innego niż windowsa” ;).
Moja rada jest taka:

  1. Zainstaluj ubuntu równolegle z windą - to nie boli, a może Ci się spodoba.
  2. Czytaj rails guides! Gdybyś przeczytał pierwszy rozdział http://guides.rubyonrails.org/getting_started.html, to nie musiałbyś zadawać tego pytania z rails adminem. Poza tym tam jest opisane jak zrobić bazę danych w sqlite, co na początek jest dużo prostsze niż psql, mysql (nie dość, że standardowo masz sqlite w Gemfile, to w database.yml musisz tylko podać nazwę bazy danych i ona Ci się stworzy jako plik na dysku).

Naprawdę, tak jak sarniak mówi, zainstaluj równolegle chociaż głupie Ubuntu, potem przez http://rvm.beginrescuend.com Rubiego i Railsy i wtedy można przynajmniej miło kodzić : )
Do nauki na początek:

  1. Wywal tą książkę z Rails 1 : )
  2. Zainstaluj Rubiego 1.9.2 i Railsy 3.1.rc5 - ja zaczynałem od railsów 3 beta i jestem bardzo szczęśliwy, że nie tykałem się głębiej railsów 2 : )
  3. Do nauki: http://guides.rails.info i http://railscasts.com. Railscasty Ryana są naprawdę świetne, opisują większość z używanych powszechnie ficzerów. No i nawet jest tam coś o zaczynaniu z railsami 3 chyba, chyba 200 railscast o tym był : )

EDIT: I pisz trochę lepsze posty, masz jakieś humanistyczne zapędy, zamiast pisać odliczania i inne cuda-wianki, napisz następnym razem dokładnie co to był za błąd, zamiast “Coś wyskoczyło bundle gems czy jakoś tak.” : )

Popieram świstaka (jakkolwiek to brzmi), chociaż ja zawsze uważałem, że “Agile web development with rails” to najlepsza książka na początek, która daje najbardziej pełny obraz frameworka, technik i tego jak to wszystko się razem łaczy tak by później było wiadomo gdzie szukać więcej informacji w dokumentacji. Tylko no trzeba mieć jej najnowszą wersje. Inaczej to nie ma sensu :slight_smile: