Screencast #1. Rails 2.1 naujovė - "named scopes"

Posted by Saulius Grigaitis 16/04/2008 at 22h28

Su džiaugsmu pristatau pirmąjį screencast’ą, kurį sukūrė Fiodor Vereščiaka. Fiodor pasakoja apie vieną iš būsimų Rails 2.1 naujovių – named scopes. Tai išties patogus funkcionalumas, kuris iki šiol buvo atskirame įskiepyje HasFinder.
class User < ActiveRecord::Base
  named_scope :active, :conditions => { :active => true }
  named_scope :male, :conditions => { :gender => 'm' }
  named_scope :female, :conditions => { :gender => 'f' }
end

Tada galime patogiai išrinkti:

User.active.female

Įdomaus ir naudingo žiūrėjimo: named_scopes

Posted in  | 6 comments | no trackbacks

Comments

  1. Eimantas Vaiciunas said 17/04/2008 at 07h39 later:

    for teh win! hehe Chuck Norris, kuriam nereikia aktyvacijos ,)

  2. Robertas Aganauskas said 18/04/2008 at 06h43 later:

    Bravo Fiodorui! Labai profesionaliai padarytas screencast’as: nėra jokios nereikalingos informacijos, tema atskleidžiama palaipsniui bei gausiai iliustruojama pavyzdžiais.
    Thx!

  3. Fiodor Vereščiaka said 18/04/2008 at 14h25 later:

    Labai malonu skaityti tokius pagyrimus. Pasistengsiu daryti nors vieną screencast’ą per savaitę.

    Šiuo metu jau pradėjau daryti screenacst’ą apie vieną iš ‘rounded corners’ elementų sukūrimo metodų, kuris veikia Firefox, IE6, Safari.

  4. Mindaugas Kurlavičius said 17/06/2008 at 13h26 later:

    Gerai butu, kad paminetumet, kad galima (kai kuriais atvejais butina) perduot lambda named_scope metodui. Tarkim, jei conditionai releatyvus (PVZ: 3.days.ago), o ne statiniai. Nes Rails uzkrovus ActiveRecord klase, jei perduodami ne kaip lambda conditionai yra isiuvami (nebeevaluojami iskvietus :) i klase. Is esmes naudojant named_scope tyko daug suspiselkiu tokiu kaip:

    named_scope :latest, :conditions => {created_at > 2.weeks.ago}

    kai turetu buti:

    named_scope :latest, lambda {{:conditions => {created_at > 2.weeks.ago }}}

  5. Mindaugas Kurlavičius said 17/06/2008 at 13h41 later:

    10 balu Fiodorui už sugebėjimą padaryt screencasta ant Linuxo :) . Šiek tiek dabar atitoles nuo Ubuntu, bet kiek pamenu, tai nepamenu jokio toolso ant Ubuntu screencastams. Tikriausiai pats pirmas mano matytas tokioj OS. Manau, butu labai geras rekursyvus screencastas – demonstracija, kaip daryt screencastus ant Ubuntu :D

  6. Saulius Grigaitis said 18/06/2008 at 09h59 later:

    triuką su anoniminėmis funkcijomis named_scope rodo railscast’e.

Trackbacks

Use the following link to trackback from your own site:
http://www.rubyonrails.lt/trackbacks?article_id=31

(leave url/email »)

reCaptcha

   Comment Markup Help Preview comment