2016-06-18 4 views
0

私はRubyアプリケーションを開発しています。私はそれを初めて使っています。しかし、私は彼がログアウトするとすぐにアップロードしたユーザーからすべてのデータを削除したいという機能が欲しいので、私は以前の記録が現在の結果生成プロセスに干渉することなく、私のシステムから別のレポートを作成することができます。誰かが助けることができれば、それは素晴らしいだろう。私はそのIDによってユーザーのデータを取得する。ユーザーがログアウトするたびにデータベースから個々のユーザーデータを切り捨てる方法。

答えて

0

ユーザーが追加したすべての記録を削除し、それに関連する新しいレコードを追加する必要があります。右?例については

あなたが怒鳴るようなテーブルを投稿する関係を持つUserテーブルを持っています。

にhas_many:Postモデルでポスト

belongs_toの:ユーザー

あなたはこの

のようなユーザーオブジェクトを取得する必要があり、すべてのその最初のユーザーモデルでは

user = User.find(user_id)レスキューnil または user = User.where(:id => user_id).first()

チェックユーザーが空白であるかどうか

if!user.blank?

user.posts.delete_allの#それはそれはイエスポストテーブルに

エンド

+0

を新しいレコードを追加しますが、ときに自動的に動作するすべてのユーザーのレコード Post.create(..)#を削除しますユーザーはログアウトしますか?彼の記録はすべて削除されますか?私はそのシナリオを実装したいです –

+0

いいえ自動的に削除されません。そのためには、logoutメソッドで上位のものを実装する必要があります。ログアウトする前に、まずすべてのレコードを削除してからログアウトしてください。大丈夫ですか ? –

+0

うんうん、うまく働いてくれてありがとう。 –

関連する問題