← strona głównaProgramowanie (Програмування)

Czym jest ivar w Ruby / Rails?

ivar w Ruby to zmienna instancji (instance variable), która jest oznaczana @. W Rails przekazuje dane z kontrolera do widoku, zachowując stan obiektu w ramach zapytania.

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

🔥 Więcej postów

Wszystkie wpisy
Czym jest złożoność faktorialna?
Programowanie (Програмування)16 wrz '25 19:03

Czym jest złożoność faktorialna?

Złożoność faktorialna to szybki wzrost liczby wariantów, gdy dla n elementów możliwych permutacji...

Czym jest NP-trudność?
Programowanie (Програмування)16 wrz '25 19:31

Czym jest NP-trudność?

NP-trudność – to klasa zadań, w której znalezienie rozwiązania jest niezwykle trudne, ale sprawdz...

Czym różni się OAuth 1 od OAuth 2
Programowanie (Програмування)19 paź '25 20:34

Czym różni się OAuth 1 od OAuth 2

Post opisuje OAuth 1 i OAuth 2: ich historię, przeznaczenie, różnice, cechy bezpieczeństwa oraz z...

Czym jest ORM i po co jest potrzebny?
Programowanie (Програмування)26 paź '25 14:00

Czym jest ORM i po co jest potrzebny?

ORM - to technologia, która pozwala na pracę z bazami danych za pomocą obiektów kodu, upraszczają...