Megjelent egy magyar nyelvű könyv: BAIRD, KEVIN C.: A RUBY PROGRAMOZÁSI NYELV - GYAKORLATI PÉLDÁKON KERESZTÜL
Megjelent egy magyar nyelvű könyv: BAIRD, KEVIN C.: A RUBY PROGRAMOZÁSI NYELV - GYAKORLATI PÉLDÁKON KERESZTÜL
Már régen megjelent. Meg is vettem abban a pillanatban. Már csak egy scanner kéne és türelem.
Sziasztok!
Egy egyszerű email küldő formot akarok csinálni. Semmi extrával. Nem kell még adatbázis sem. Egyszerűen egy név, email mező és egy szöveges rész. Egy meghatározott mailre továbbítsa az adatokat. Feltúrtam a netet. Idegbajos vagyok már, mert biztosan rém egyszerű, mégsem tudom megcsinálni. Segítsetek!
Tényleg rém egyszerű. Rails 3.0.0-ban például:
1. Scaffoldolsz egyet, hogy legyen formod a dologhoz:
persze több mindent is bekérhetsz, nem csak az illető email címét. Például nev:string, uzenet:text, stb. Amit akarsz, sorold fel.Kód:rails g scaffold email:string
2. Eldöntöd, hogy mit is akarsz használni email küldésre. Egy SMTP szervert vagy sendmail-t. Tegyük fel, hogy linuxon vagy és sendmailt szeretnél:
3. Ez opcionális, ha akarsz hibaüzneteket kapni, akkor:Kód:ActionMailer::Base.delivery_method = :sendmail
4. Elküldöd a maileket:Kód:config.action_mailer.raise_delivery_errors = true
Ez jó, de nincs tartalma, az is bele lehetne ide cselezni, de az nem comme-il-faut itt jön a jó módszer:Kód:def kuldok_mailt mail(:to => email, :subject => "Szerusz, Pesta vagyok", :from => "pesta@ctdd.ro") end
5. /app/views/user_mailer -ben létrehozod: kuldok_mailt.text.erb
És ide plain textben akár beírod, hogy mi van, persze generálhatod adatbázisból, formból, bárhonnan:
Ja és a multipart is nagyon egyszerű, ha nem plain text emaileket akarsz küldözgetni:Kód:Szerusz, Megismersz-e? Csöcs, Pesta
Szerintem nagyságrendekkel egyszerűbb, mint PHP-ban. Mikor PHP-ban még csak a formmal végeztél, addig Railsben már rég kész van a teljes cucc és már nézheted is a Balázs Show-t.Kód:def cselesemail mail(:to => 'valaki@valahol.tld') do |format| format.text { render :text => "Szerusz, Pesta vagyok!" } format.html { render :text => "<h1>Szerusz,</h1><p>Pesta vagyok</p>" } end end
Utoljára módosítva: WSzP által : 2010-09-19 13:38
Köszi a gyors választ! És hova kell írni, hogy milyen címre küldje a formba írt adatokat?
:to => email A 4-es pontnál. Persze, nem árt mindezt adatbázisba menteni előbb és onnan próbálkozni a küldéssel, meg ilyesmik. (Plusz pár sor.)
Az a jó a Railsben, hogyha meggondolod magad és holnap SMTP-vel akarsz emailt küldeni, vagy Sendgriddel, vagy bármi mással, akkor a ActionMailer::Base.delivery_method-ot kell cserélni és kész.
Pont, mint az adatbázisoknál. Ha ma SQLiteot használsz, de rájössz, hogy túl sok a konkurrens írási kísérlet, akkor egy YAML fileban egy dolgot változtatsz meg és már át is álltál PostgreSQL-re. A Rails arról szól, hogy igazodj az igényekhez, módosítható és könnyen átlátható kódot írj. És persze KISS.
Utoljára módosítva: WSzP által : 2010-09-19 13:46
Itt jó helyen keresgéltem? http://matharvard.ca/2009/sep/01/a-b...-form-in-rails
Mindent a leírtak szerint csináltam. De egy "map" változó nem létezik, vagy ilyesmi hibaüzenetet dobott.
Ez Rails 2-höz van. Amit én írtam 3-hoz.
Rails 3-ban nem kell map. map.resources :fotel helyett simán resources :fotel van. Vagy mondjuk map.connect 'csel', :controller => 'fotel', :action => 'index' helyett match 'csel' => 'fotel#index'
Ugye mennyivel egyszerűbb és logikusabb? Viszont ez azt jelenti, hogy nem lehet 1:1-ben felhasználni a régi tutorialokat.
De hányas verziód van? Írd be a konzolba, hogy rails -v.
Rails 2.3.8
Még nem merem a 3 használni. Örülök, hogy a régi 5%-át értem. Kezdhetném elölről.
Más kérdés:
A Heroku-n hozzáadtam a sendgrid plugint. Kell az nekem egyáltalán egy egyszerű "kapcsolat" formhoz?
Könyvjelzők