Ruby on Rails 1.2 RC1

Opublikowane przez Jarosław Zabiełło Sat, 25 Nov 2006 13:52:00 GMT

Nadchodzi wielkimi krokami Ruby on Rails 1.2. Właśnie udostępniono wersję RC1. Wersja finalna powinna pojawić się w najbliższych tygodniach. Wprowadzono szereg istotnych usprawnień w działaniu Railsów powiększając tym samym jeszcze bardziej komfort pracy i dystans w stosunku do pozostałych frameworków.

Np. dodano dodatkowy parametr “format” do metody respond_to. Aby z tego korzystać, należy w routes.rb dodać regułę:

map.connect ':controller/:action/:id.:format'. 

Nie trzeba już więcej bawić się w analizę nagłówków HTTP.

class WeblogController < ActionController::Base
  def index
    @posts = Post.find :all
    respond_to do |format|
      format.html
      format.xml { render :xml => @posts.to_xml }
      format.rss { render :action => "feed.rxml" }
    end
  end
end

GET /weblog       # zwróci HTML
GET /weblog.xml   # zwróci XML
GET /weblog.rss   # zwróci RSS

Inną, istotną zmianą jest dodanie Multibyte. Nie jest to co prawda tak zaawansowane jak w Pythonie, ale do czasu pojawienie się Ruby 2 (który ma mieć pełne wsparcie dla Unicode), Multibyte poprawia trochę sytuację. programisty. Generalnie Ruby jakoś dawał sobie radę z UTF-8, ale w niektórych sytuacjach pojawiały się problemy. Np. metoda size() zwraca ilość bajtów a nie znaków. Multibyte wprowadza metodę proxy dla napisów – chars. Np.

Napisałeś <%= @post.body.chars.length %> znaków.

Jedną z bardziej rewolucyjnych zmian, jest dodanie obsługi REST. (która zakłada, że każdy zasób sieci powinien być jednoznacznie identyfikowany za pomocą samego adresu URL). W praktyce oznacza, to znacznie skrócenie kontrolerów w Railsach po przez wysłanie na ten sam adres różnych komend, tzn,. nie tylko GET i POST ale także PUT i DELETE. Mimo, że te polecenia są cześcią standardu protokołu HTTP, większość przeglądarek implementuje tylko GET I POST. W takim wypadku Rails emuluje działanie tych komend poprzez dodawanie do adresu znaku średnika i polecenia.

Plugin Simply RESTful już działa i można go używać. Np. wygeneruj sobie kod nowego, REST’owego scaffoldingu:

ruby script/generate scaffold_resource

Oczywiście, musisz mieć odpowiednią najnowszą wersję Railsów, którą najlepiej zainstalować za pomocą gemsów:

gem install rails --source http://gems.rubyonrails.org -y

Nie przejmuj się jak wyświetli ci się coś w stylu

Successfully installed rails-1.1.6.5618

To jest tymczasowe oznaczenie dla wersji RC1. Jak wyjdzie wersja finalna to będzie wyświetlać się numer 1.2.

Trwają jeszcze końcowe prace nad Active Resource, modułem obsługującym REST i nowy sposób mapowania.

I ostatnia wiadomość, nadchodzące w grudniu, drugie wydanie książki Agile Web Development in Rails powinno większość tych zmian uwzględniać, bo książka jest pisana z założeniem że używany jest Edge Rails (czyli najnowsza wersja z repozytorium SVN).

Posted in  | Tagi  | 2 comments

Comments

  1. Avatar rsz powiedział 1 day later:

    “większość przeglądarek implementuje tylko GET I POST” – skąd takie informacje? Np. IE i FF od niepamiętnych czasów implementują bez problemu DELETE

  2. Avatar kompresory powiedział 8 months later:

    Dokładnie, dlatego jestem wielkim fanem FireFox. Pozdrawiam

(leave url/email »)

   Pomoc języka formatowania Obejrzyj komentarz