Что окончательно устарело в Rails

Илья • 27 января 2007 г.

Rails очень быстро меняется. Не успеваешь закончить писать приложение, как оно уже устарело :) Хочу написать несколько очевидных маленьких штуковин, которые уже достаточно давно устарели, но не смотря ни на что, всё равно продолжают использоваться программерами.

Во-первых, следующие переменные давно уже нужно использовать как методы, то есть без знака @:

Было:
@request, @response, @session, @headers, @template, @cookies и @flash
Стало:
request, response, session, headers, template, cookies и flash

ActionController:

expire_matched_fragments()        → expire_fragment()
keep_flash()                      → flash.keep()
redirect_to_path()                → redirect_to(path)
redirect_to_url()                 → redirect_to(url)

ActionView:

@content_for_layout               → yield
@content_for_some_fragment        → yield :some_fragment
link_image_to()                   → link_to(image_tag())
link_to 'Bla bla', :post => true  → link_to "Bla bla", :method => "post"
render_partial                    → render :partial
render_partial_collection         → render :partial => 'bla', :collection => @b
human_size()                      → number_to_human_size()
start_form_tag(); end_form_tag()  → form_tag :action => "bla" do
                                      text_field 'bla', 'bla'
                                     end

ActiveRecord:

:dependent => true                → :dependent => :destroy
:exclusively_dependent => true    → :dependent => :delete_all
find_all()                        → find :all
find_first()                      → find :first

Update: Александр Сенько напомнил, что:

Вызывать следующие методы в вашем контроллере больше не нужно, рельсы теперь делают это автоматом:
model; service; observer; depend_on; dependencies_on

Ничего не забыл?

Извините, но комментарии для этой статьи уже закрыты.