我正在使用我的游戏应用程序中的某些访客帐户功能。如果您注册为游戏用户,那么设计gem会自动将当前帐户ID加载到会话中。但是,当一个用户是一个访客时,需要用硬编码值创建一个账户和一个用户类型对象,并将其成功保存到数据库中。但是,当我尝试将对象存储到会话中时,它无法正常工作。Ruby on Rails - ApplicationController
我的代码是这样的,
def play_as_guest
account = Account.new(email: "guest_#{Time.now.to_i}#{rand(99)}@eossys.com", password: "password", is_guest: true)
account.save
game_user = GameUser.new(account: account, game_profile_attributes: {first_name: "Guest", last_name: "guest", nick_name: "guest"})
game_user.save
session[:current_account] = game_user
redirect_to "/game_profiles/#{account.id}/summary"
end
如果我存储帐户的obj 会话[:current_account] = game_user
这是在投掷的“ActionDispatch ::饼干:: CookieOverflow错误HomeController的#play_as_guest”
,如果我尝试 会话[:current_account_account] =帐户
它不工作,因为重定向后再次请求登录。因为我正在使用'authenticate_account!'过滤每个班级。
我想要的基本上是将我已创建的帐户对象加载到会话中,就像其注册用户一样。
感谢您的帮助提前。
sign_in帐户 - 这工作正常。 – Karthikds