Ktoś mi może powiedzieć jaka jest różnica pomiędzy zmiennymi z tematu posta i ewentualnie której lepiej używać?
Raczej powinno się używać :user. :user czyli symbol to coś na kształt wskaźnika do tekstu. Po zadeklarowaniu czegoś takiego wskazuję to cały czas w jedno miejsce pamięci. Jeśli nie potrzebujesz robić z symbolem dziwnych rzeczy (stosownych dla klasy Stringów) - a nie potrzebujesz w tym wypadku to używaj symboli. Tak samo jak na przykład we flash[:notice]
Metoda session udostępnia obiekt z wartościami sesji użytkownika. Obiekt ten ma metodę [], która umożliwia używanie go jak tablicy haszującej. W RoR nie ma żadnej różnicy w sensie, że zawsze dostaniesz ten sam wynik. W czystym Ruby są to dwa zupełnie różne klucze.
Ze względu na wydajność trochę korzystniej jest używać symboli. Niektórzy twierdzą też, że taki kod jest czytelniejszy.