A Ruby on Rails 1.1 várható újdonságai
A Rails következő, 1.1-es kiadása február végére volt ütemezve. A megjelenés a jelek szerint csúszik egy kicsit, de szerencsére Scott Raymond összefoglalta az új lehetőségeket, amiket már bárki kipróbálhat az Edge of Rails-t (vagyis a fejlesztői verziót) használva. A következőkben ezeket tekintjük át mi is.
Az eredeti cikk megtalálható a következő címen. A legérdekesebb újdonságokról röviden:
Röviden tehát ennyit. Látható, hogy a legfontosabb fejlesztések a stabilitást, az adatkezelést és az interakciót érintették. Személy szerint érdeklődve várom hány új AJAX-ot használó webalkalmazás fog megjelenni a közeljövőben, ami a Rails segítségével készült.
■ Az eredeti cikk megtalálható a következő címen. A legérdekesebb újdonságokról röviden:
Változások a Rails magjában
- Az új alapértelmezett adat séma formátum a :ruby lett az :sql helyett.
- Külön beállítás nélkül használható az Action és a Fragment gyorsítótárazás.
ActiveSupport
- Minden objektumnak van egy to_json metódusa, megkönnyítve a JSON stringek generálását.
- A Logger objektumoknak bemutatkozik egy új Around_* metódusa, mellyel a kívánt kódblokk futtatása előtt és után írhatunk a log fájlokba.
- Az új delegation támogatja a többszörös delegációt.
class Account < ActiveRecord::Base has_one :subscription delegate :free?, :paying?, :to => :subscription delegate :overdue?, :to => "subscription.last_payment" end account.free? # => account.subscription.free? account.overdue? # => account.subscription.last_payment.overdue?
ActiveRecord
Új eszközök jelennek meg az adatok közötti kapcsolatok leírására. Számos bugfix és sok kisebb, a használhatóságot javító változtatás történt.- Többek között bemutatkozik a has_many :through.
class Author < ActiveRecord::Base has_many :authorships has_many :books, :through => :authorships end class Book < ActiveRecord::Base has_many :authorships has_many :authors, :through => :authorships end class Authorship < ActiveRecord::Base belongs_to :author belongs_to :book end Author.find(:first).books.find(:all, :include => :reviews)
- Használhatunk már Polymorpic asszociációkat is.
class Address < ActiveRecord::Base belongs_to :addressable, :polymorphic => true end class User < ActiveRecord::Base has_one :address, :as => :addressable end class Company < ActiveRecord::Base has_one :address, :as => :addressable end
- A Calculations statisztikai eszközöket ad a kezünkbe.
Person.count Person.average :age Person.minimum :age Person.maximum :age Person.sum :salary, :group => :last_name
ActionPack
- A legfontosabb és legérdekesebb különlegesség a most debütáló RJS template rendszer. Használhatunk tehát .rjs kiterjesztésű sablonokat, amelyekben a ruby kód JavaScriptet generál. Segítségével többek között félelmetesen egyszerűen megoldható hogy egy hívás az oldal több független részét is frissítse. Az biztos, hogy az AJAX fejlesztők könnyes szemmel fognak gondolni a fejlesztőkre... :)
- Új form helper metódusok is bemutatkoznak, mint például a form_for, form_remote_for, és a fields_for.
Röviden tehát ennyit. Látható, hogy a legfontosabb fejlesztések a stabilitást, az adatkezelést és az interakciót érintették. Személy szerint érdeklődve várom hány új AJAX-ot használó webalkalmazás fog megjelenni a közeljövőben, ami a Rails segítségével készült.
Jó ez a cikk
Gondolon, ruby tudornak kell lenni ahhoz, hogy fogjam :P
--
[ Dönci ]
ruby tudor :)
Nos, röviden megpróbálom megvilágítani a dolgokat :)
A Rails maga gyakorlatilag ezeket a részeket csak összehangolja. Az igazság az, hogy az előbb felsorolt részeken túl van még néhány plusz programrész is, úgyhogy álljon itt egy lista, hogy jobban áttekinthető legyen.
- Model: ActiveRecord
- View: ActionView
- Controller: ActionController
- Levelezéssel kapcsolatos fügvények: ActionMailer
- Webszolgáltatások építéséhez: ActionWebservice
- Mindenféle hasznos apróság: ActionSupport
Remélem már tisztul a kép! Akkor mehetünk is tovább! Most következik az újdonságok magyarázata.
Az alapértelmezett adatséma Az azt jelenti, hogy ha lemented vagy épp importálni akarod az adatbázisod struktúráját, merthogy a keretrendszer ebben is a segítségedre van, akkor milyen formátumban, vagyis milyen nyelven fogja a program kiadni a sémát ill bekérni. A ruby formátum véleményem szerint sokkal átláthatóbb. Egy tábladefiníció például így néz ki:
Ez pedig többek között az AJAX alkalmazások készítésekor hasznos, de ha jól sejtem akkor még a Flash is kezeli.
A delegation segítségével ismét hosszadalmas kódolást spórolhatunk meg. Ha az egyik modell valamely atribútumát (ezek általában adatbázis mezők) delegáljuk egy másik modell számára, akkor azok az atribútumok előrhetőek a másik modellből is. Most csak annyi történt, hogy bármennyi atribútumot delegálhatunk.
Az AktiveRecord kezeli az adatainkat. Itt különösen fontos, hogy leírhassuk, melyik adatok melyik másik adatokhoz kapcsolódnak. Magyarul a relációk. Nem időznék el a magyarázattal nagyon, az eredeti cikk tele van példákkal és kapcsolódó információkkal, a lényeg, hogy újabb lehetőségeket kaptunk a kezünkbe, amikkel még összetettebb kapcsolatokat is le tudunk írni.
Az ActionView rész pedig érthető minden magyarázat nélkül is :)
Remélem tisztult a kép, most ennyire volt energiám.
<Nincs cím>
Online 2.0