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
OK - Pojawił sie kolejny problem 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:
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ł
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
A tak przy okazji mam jeszcze jedno pytanie 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?