私はレールが新しく、ログインシステムを設定しています。しかし、誰かが新しいブログ投稿を作成し、ログイン時に自分のアカウントに添付してもらいたいのですが、どのように投稿を自分の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. カスタマーポータルサイトにログインしていないユーザー
- 4. Codeigniter現在ログインしているユーザー
- 5. ログインしているMySQLユーザーのリスト
- 6. ダッシュボードプラットフォームでログインしているユーザー
- 7. ログインしているすべてのユーザーと、そのサイトにアクセスしているがログインしていないユーザーを見つける方法
- 8. ログインしたユーザーをDjango例外エラーメッセージに添付するにはどうすればいいですか?
- 9. ログインページにログインしていないユーザーをリダイレクトするJavaフィルタ
- 10. ログインしているユーザーのページが異なり、rootユーザーでログインしていない
- 11. railsにログインしているユーザーをdevise gemで表示する
- 12. 現在のログインしているユーザーをspring + angularにする
- 13. ユーザーがログインしている場合にインデックスページをリダイレクトする
- 14. 現在ログインしているユーザー名を取得するには?
- 15. ユーザーがログインしているときにWordpressのパフォーマンスが遅い
- 16. Ruby on Rails - ユーザーがログインしていないときにユーザーをログインさせないようにする
- 17. Rails Viewpointメッセージを添付して添付する
- 18. ログインしているユーザーに対してフォームが表示されない
- 19. ログインするユーザーがgmailに登録しているユーザーを取得していますか?
- 20. ログインしているユーザーに公開する
- 21. 現在ログインしているユーザーのWordPressブログデータにアクセスするAPI
- 22. jQuery:開いているウィンドウと開いているウィンドウのドキュメントフォームにsubmit()コールバックを添付してください
- 23. ユーザーにリダイレクトする方法:/ id成功したログイン後にログインする - レール3
- 24. Symfony2 - 現在ログインしているユーザーをリスナーに挿入
- 25. ログインしているFacebookユーザーのみにアクティビティフィードを表示
- 26. Magento PHPがユーザーにログインしているかどうかをチェック
- 27. ユーザーがログインしていることを確認してください
- 28. 現在ログインしているアクティブディレクトリとdbユーザーを比較していますか?
- 29. logged_in_userログインしているユーザーのリンク先ページをバイパスしていません
- 30. クエリで現在ログインしているユーザーを使用します。
私が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