Problem z konsolą - sh: irb: not found

Witam,

Jestem w trakcie pisania pierwszego projektu opartego o RoR i mam pewien problem. Otóż gdy chcę przetestować komunikację z tabelą opartą na bazie w MySQL. Oto wynik:

fudek@fudek-laptop:~/RubyOnRails/rails_space$ ruby script/console Loading development environment (Rails 2.0.2) sh: irb: not found fudek@fudek-laptop:~/RubyOnRails/rails_space$
Czy może mi ktoś powiedzieć co robię nie tak? Na forum nie znalazłem odpowiedzi :confused:

irb not found :slight_smile: w PATH brakuje ci sciezki do irb :slight_smile: znajdz irb i dodaj sciezke albo zrob symlink do /usr/bin/irb

Dzięki :slight_smile: Rzeczywiście nie widoczny był irb :slight_smile:

Pozdrawiam

Apt-get install irb
Bo w Debianie (i Łubudu takoż) ruby i irb to osobne paczki :slight_smile:

OK - Pojawił sie kolejny problem :frowning: Podczas próby stworzenia systemu rejestracji użytkowników w serwisie nie moge uruchomic strony rejestracji. Wyskakuje mi błąd:

[code]
SyntaxError in User#register

Showing user/register.html.erb where line #16 raised:

compile error
/home/fudek/RubyOnRails/rails_space/app/views/user/register.html.erb:16: syntax error, unexpected tASSOC
_erbout.concat(( submit_tag “Zarejestruj!”, class => “submit” ).to_s); _erbout.concat “\n”
^

Extracted source (around line #16):

13: <%= form.text_field :password %>
14:

15:
16: <%= submit_tag “Zarejestruj!”, class => “submit” %>
17:
18: <% end %>[/code]
Czy ktos spotkał sie z takim błędem? Nawet Google nic mi nie powiedział :confused:

Zamiast

<%= submit_tag "Zarejestruj!", class => "submit" %>

powinno być

<%= submit_tag "Zarejestruj!", :class => "submit" %>

‘class’ w tym przypadku jest interpretowane jako zmienna lokalna. Zamiast niej powinien być symbol.

submit_tag przyjmuje jako drugi parametr Hash z opcjami. Poszczególne pola Hash’a powinny być indeksowane symbolem albo łańcuchem znaków, żeby uniknąć nieporozumień i błędów (w twoim wypadku ruby szuka zmiennej lokalnej class - nie znajduje jej i generuje błąd). powinieneś użyć symbolu lub lancucha czyli: ‘class’ => ‘submit’ albo :class => ‘submit’

Gwoli ścisłości nie chodzi o zmienną lokalną “class”. “class” rozpoczyna deklarację klasy, a jako wartość zwraca ostatnio obliczone wyrażenie, zatem poniższy działałby (choć sam w sobie jest niepraktyczny):

<%= submit_tag "Zarejestruj!", class Test; :class; end => "submit" %>

Stąd SyntaxError a nie komunikat o nieznanej zmiennej lub metodzie “class”.

Dzięki za odpowiedź i w sumie dogłębne wyjaśnienie tematu :slight_smile:

A tak przy okazji mam jeszcze jedno pytanie :slight_smile: Chciałbym umieścić na witrynie aplikację, która pozwoli mi zaciągnąć na serwer plik np. “galeria.zip” ze spakowanymi zdjęciami. Aplikacja po zassaniu pliku sama rozpakowalaby archiwum i zaciągnęła wszystkie pliki (same zdjęcia) do bazy. A teraz pytanie:

Czy Rails/Ruby posiada taką bibliotekę która pozwoliłaby mi rozpakować plik na serwerze?

Z góry dzięki za pomoc.

Pozdrawiam :slight_smile:

Tak, posiada.

(przepraszam, nie mogłem się powstrzymać :smiley: )

Ale serio, nie prościej użyć googla zamiast marnować czas forumowiczów?
http://www.google.pl/search?q=ruby+unzip

fudek: ruby zip

Sorry za proste pytania… To się już nie powtórzy :slight_smile: Ide na forum użytkowników Google, dział dla zielonych :wink:

Dzięki za odpowiedź

Kiedyś pytałem o coś podobnego i bardzo pomocna okazała się odpowiedź Drogusa:
Podobny wątek