私はレールが新しく、ログインシステムを設定しています。しかし、誰かが新しいブログ投稿を作成し、ログイン時に自分のアカウントに添付してもらいたいのですが、どのように投稿を自分のuser_idに添付することができますか?ログインしているユーザーにデータベースエントリを添付しているレール
1
A
答えて
2
(列名のuser_idを持つ必要があります)モデルのポストを定義
model Post < ActiveRecord::Base
belongs_to :user
end
ユーザーモデルで
model User < ActiveRecord::Base
has_many :posts
end
ユーザーの投稿をすべて次のように取得する
User.find(id).posts
0
かなりのアプローチがありますが、John Nunemakerのuser_stamp gemはかなり簡単で実行しやすいです。
https://github.com/jnunemaker/user_stamp
だけで、あなたのテーブルにあなたのApplicationControllerに内の1行をcreator_idとupdater_idを追加し、それが残りの部分を行います!あなたが ことができるようにUSER_IDは、Userモデルにforiegn鍵となる上で定義された団体と
0
rails associationsのこのガイドに従うことで、お互いにモデルを関連付けることができます。
class Post < ActiveRecord::Base
end
class User < ActiveRecord::Base
has_many :posts
end
あなたの投稿テーブルにuser_idという名前の列があることを確認するだけでよいでしょう。あなたのユーザテーブルがユーザと呼ばれると仮定します。これは、ユーザーと投稿の間の1対多関連を設定します。ユーザーインスタンスから、user.postsを実行して、そのユーザーの関連する投稿のリストを取得できます。
ガイドはこの物を説明するのにはるかに優れていて、今のところ必要でない部分でさえ、全体を読む価値があります。
関連する問題
- 1. .NETログインしているユーザー
- 2. レールの添付ファイルとして、リモートファイルを使用して
- 3. DISPLAYにログインしているユーザー:
- 4. ユーザーがレールにログインしていることを確認する方法を教えてください。
- 5. 添付ファイルをLaravelのメールに添付してください
- 6. Android - ログインしているユーザーが動作していない(Firebase)
- 7. ログインしているユーザーを確認してください
- 8. カスタマーポータルサイトにログインしていないユーザー
- 9. ダッシュボードプラットフォームでログインしているユーザー
- 10. タグヘルパーの現在ログインしているユーザー
- 11. Codeigniter現在ログインしているユーザー
- 12. ログインしているMySQLユーザーのリスト
- 13. Web apiからログインしているユーザー
- 14. ログインしているユーザー間のWebRTCビデオコール
- 15. ログインしたユーザーをDjango例外エラーメッセージに添付するにはどうすればいいですか?
- 16. ログインしているすべてのユーザーと、そのサイトにアクセスしているがログインしていないユーザーを見つける方法
- 17. GameCenter - 既にログインしているユーザー(ログイン済みの場合)
- 18. セッションは、私は、ユーザーがログインしていないとして、それが常に表示ログインしているユーザーのセッションで問題を抱えている
- 19. 添付ファイルが添付されていて、Outlookやメールサーバーには添付されていないメール
- 20. Amazon Cognitoを使用してログインしているユーザー
- 21. ログインしていないユーザーのチェックアウトページを無効にする
- 22. ログインページにログインしていないユーザーをリダイレクトするJavaフィルタ
- 23. ログインしていないユーザーを別のビューにリダイレクトする
- 24. ログインしているユーザーのページが異なり、rootユーザーでログインしていない
- 25. 添付ファイルが添付されているメールを削除します。
- 26. ログインしているユーザーとログアウトしたユーザーの公開ボタン
- 27. ログインしているユーザーとログアウトしたユーザーに異なるメッセージを表示
- 28. ユーザーがログインしている場合にインデックスページをリダイレクトする
- 29. 現在のログインしているユーザーをspring + angularにする
- 30. railsにログインしているユーザーをdevise gemで表示する
私がdeviseを使用している場合は、post_controllerまたはpostモデルのどこかに 'current_user'ヘルパーを使用する必要がありますか?私はuser_controllerの外にコントローラを使用しているので、現在のセッションまたはユーザをどこかに指定する必要があるかどうかを私が尋ねていると思いますか? – stewart715
私はdeviseについてはわかりませんが、あなたがcurrent_userまたは特定のユーザを持っている場合は、@ user.postsを実行できます。 – naren
私はあなたに現在ログインしているユーザ(そのヘルパーはcurrent_userです)を提供するヘルパーを持っています。 belongs_to:userとhas_many:postsを追加すると、ユーザーのIDを取得してポストのuser_id列に投げ込まれていないようです。だから私はそれが現在のユーザーのIDを取る必要があることを見るためにそれを得るために何か必要があるかどうか疑問に思っています – stewart715