私はグーグルでこれを見つけようとしましたが、これについて何も見つけられないようです。Likes というモデルと、単に Event と User に属するコントローラーがあります。ログインしていないときにいいねを作成したり、別のユーザーのいいねを作成したりできないようにしたいと思います。これを行う適切な方法は何ですか?
ありがとうございました
私はグーグルでこれを見つけようとしましたが、これについて何も見つけられないようです。Likes というモデルと、単に Event と User に属するコントローラーがあります。ログインしていないときにいいねを作成したり、別のユーザーのいいねを作成したりできないようにしたいと思います。これを行う適切な方法は何ですか?
ありがとうございました
ユーザーベースのシステムを使用している場合、ユーザー所有のデータに関連するすべてのクエリは、ユーザーを含めるか、ユーザーから発信する必要があります。ほとんどの認証システムには、現在のユーザーを取得するためのヘルパーがあり、多くの場合、 と呼ばれcurrent_user
ます。
モデルについていくつかのことを仮定すると、イベントを「好き」にするために、いくつかの方法でそれを行うことができます:
current_user.likes.create(event_id: params[:event_id])
Like.create(event_id: params[:event_id], user: current_user)
イベント ID とユーザー ID が常に存在することを確認する検証も役立ちます。ログインしているユーザーがいない場合、誰かがパスを推測して手動でいいねを作成しようとしたと仮定すると、失敗するはずです。