Sorry za trywialne pytanie, ale muszę je zadać.
Jak dodać wiele parametrów do jednej instancji?
Wysyłam formularzem kilka wartości.
Obecnie robię bardzo źle [w kontrolerze], bo tak:
@var = params[:name]
@var2 = params[:surrname]
Dzięki za pomoc.
nagl
May 10, 2011, 3:33pm
2
Podaj szerszy kontekst problemu, bo nie za bardzo wiadomo o co chodzi. Co chcesz tu inaczej zrobić?
Chciałbym wysłać do funkcji mailera jedną instancję zamiast 10.
Mam form_tag, który wysyła parę informacji do kontrolera i obecnie każdą z osobna muszę wysłać do mailera, wolałbym wysłać tylko jedną i z niej w mailerze wyciągać dane.
Przeslij params do mailera ? Stwórz tablice z paramsów ? (np: [params[:name], params[:surname]), Hasha ? ( {:name => params[:name], :surname => params[:surname]} )
Nie bardzo dalej wiem o co Ci chodzi.
Rozumiem ze jako instację rozumiesz zmienną instancyjną ?
Moze pokaz kawalek kodu.
[quote=debosh]Przeslij params do mailera ? Stwórz tablice z paramsów ? (np: [params[:name], params[:surname]), Hasha ? ( {:name => params[:name], :surname => params[:surname]} )
Nie bardzo dalej wiem o co Ci chodzi.
Rozumiem ze jako instację rozumiesz zmienną instancyjną ?
Moze pokaz kawalek kodu.[/quote]
Instancja/zmienna, wszystko jedno.
Czyli mogę zrobić np. tak?
@var = {:name => params[:name], :surrname => params[:surrname]}
Dane później wyciągnę w taki sposób?
@var.name albo @var[0]
Nie mogę tego przetestować teraz niestety. Ale dzięki, już mnie naprowadziłeś.
Uwierz mi, że to nie to samo.
nie - polecam jakąś książkę z podstawami rubego. albo rails for zombies - tam się nauczysz obsługiwać hashe.
Swoją drogą - jak pozostali - nie do końca rozumiem w czym masz problem. Do mailera możesz wysłać zmienną params, i w samym mailerze sie nią bawić. Na railscastach(jak i w wieelu innych miejscach w sieci) jest opis jak zrobić mailera w railsach…
Mozesz miec rozne zmienne: instancyjne, klasowe, globalne, lokalne
Instancja to jest konkretny obiekt danej klasy, np:
Masz klasę User, jak zrobisz @user = User.new to @user będzie instancją klasy User
[quote=qrooel]Czyli mogę zrobić np. tak?
@var = {:name => params[:name], :surrname => params[:surrname]}
Dane później wyciągnę w taki sposób?[/quote]
Dane z hasha wyciagasz jak z paramsow (ktore w tym przypadku tez sa hashem, czyli:
@var = {:name => params[:name], :surrname => params[:surrname]}
@var[:name]
@var[:surrname]
Tutaj masz dokumentacje Hash razem z przykladami:
http://ruby-doc.org/core/classes/Hash.html
Dokładnie o to mi chodziło, dzięki debosh.