私のゲーム アプリケーションでいくつかのゲスト アカウント機能に取り組んでいます。ゲーム ユーザーとして登録すると、gem が現在のアカウント ID をセッションに自動的にロードします。しかし、ユーザーがゲストの場合、ハードコードされた値を持つアカウントとユーザー タイプ オブジェクトを作成し、それをデータベースに正常に保存しています。しかし、オブジェクトをセッションに保存しようとすると、正しく機能しません。
私のコードはこのようなものです、
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 session[:current_account] = game_user を保存する場合
これは、「ActionDispatch::Cookies::CookieOverflow in HomeController#play_as_guest」のエラーをスローしています。
session[:current_account_account] = account を試すと
リダイレクトした後、再度ログインを要求するため、機能していません。「authenticate_account!」を使用しているためです。すべてのクラスでフィルタリングします。
私が基本的に望んでいるのは、作成したアカウント オブジェクトを、登録済みユーザーのようにセッションにロードすることです。
事前に助けてくれてありがとう。