Ta treść została automatycznie przetłumaczona z ukraińskiego.
ivar - to skrót od instance variable (zmienna instancji). W Ruby zapisuje się ją z @ przed nazwą, na przykład:
@user = User.find(params[:id])
Jak to działa?
W Ruby każdy obiekt ma swój zestaw zmiennych instancji. To znaczy, że @user w kontrolerze i @user w widoku (view) - to ta sama zmienna w ramach jednego żądania, ale ona należy do konkretnej instancji kontrolera.
Rails automatycznie udostępnia wszystkie zmienne @ z kontrolera w odpowiednim szablonie.kontroler:
# app/controllers/users_controller.rb def show @user = User.find(params[:id]) end
i ten sam widok:
<!-- app/views/users/show.html.erb --> <h1><%= @user.name %></h1>
Krótko mówiąc:
- @ivar = instance variable = zmienna instancji obiektu
- Widoczność w ramach jednej instancji
- Rails automatycznie przekazuje zmienne @ z kontrolera do widoku
- Używane do przekazywania danych między warstwami MVC
Ten post nie ma jeszcze żadnych dodatków od autora.