Q:

Вход на сайт через ссылку из почтового ящика

Есть сайт, в котором можно отправлять сообщения другим пользователям. Когда пользователь, которому отправили сообщение, не в сети, ему приходит уведомление на почту. 
Как сделать так, чтобы при клике на ссылку из почтового ящика, которая указывает на чат, пользователь автоматически логинился на сайте? 
Сейчас моя ссылка в почтовом ящике ведет на чат, но при переходе выбивается окно входа на сайт. 
Для авотризации пользователей стоит гем Devise.

A:

Нашел способ сделать проще.
Создал хелпер, который преобразует путь, добавляя хеш пользователя.
module UrlHelper

  def self.auth_url(url, user_id)
    salt = ENV["EMAIL_OPEN_URL_SALT"].to_s
    url_regex = Regexp.new( ENV["DOMAIN"].gsub("www.", "") )
    if !salt.blank? && url.scan(url_regex).first
      begin
        uri = URI(url)
        url << (uri.query ? "&" : "?")
        url << "_ea="

        hash_str = Digest::MD5.hexdigest("#{uri.path}#{salt}#{user_id}") + user_id.to_s(16)
        url << hash_str.hex.to_s(36)

        shift_checksum = hash_str.to_s.length - hash_str.hex.to_s(16).length
        url << "_#{shift_checksum}" if shift_checksum > 0
      rescue; end
    end
    url
  end
end

Ссылки выглядят следующим образом (haml): 
= link_to 'View Activity', UrlHelper.auth_url(activity_bank_url, @user.id)

