session[:user => user, :user_id => [user.id, user.salt]]
По некоторым причинам, это никогда не работало для меня.
Мысли о том, как я могу получить следующий код в одной строке:
session[:user] = user session[:user_id] = [user.id, user.salt]
Я придерживался оригинального синтаксиса, потому что не мог найти альтернативу.
Попробуйте
session.merge({:user => user, :user_id => [user.id, user.salt]})