Я обнаружил, что строка ошибки будет соответствовать типу ошибки, но я не уверен (вообще), это работает на разных платформах или даже в разных локалях.
if err, ok := err.(*os.PathError); ok {
//EINVAL
if err.Err.Error() == "invalid argument" {
…
// - OR -
//ENOENT
if err.Err.Error() == "no such file or directory" {
…
}
Да, сессии точно, что Вы ищете.
session["user_id"] = user_id
И выбирать текущего пользователя на другой странице (если Ваша модель является вызываемым пользователем):
@current_user = User.find(session["user_id]")
Сильно полагайте, что плагин управляет этим.
Существуют несколько, такие как успокоительная аутентификация.
Это дает current_user
и logged_in?
функциональность.