0

認証システムがセットアップされており、変数current_userにアクセスできると仮定します。たとえば、Devise gem を使用します。

と、の 2 つのモデルがUserあります。コントローラーで、自分ののみを作成/削除できると仮定した場合、適切な Thing を作成/削除するためのベスト プラクティスは何ですか。ThingUser has one ThingUserThing

たとえば、アクションを作成します。

オプション 1 (標準) :

@thing = Thing.new(params[:thing])
@thing.save

そして、ビューに user_id を設定します。

オプション 2 :

@thing = current_user.create_thing

また、ビューで user_id を設定する必要はありません。

どちらも機能しますが、どちらかを避ける必要があるのか​​ 、それともより良いのか、そしてその理由を知りたいです. ありがとう!

4

3 に答える 3

2

個人的には、(あなたが言うように) user_id をいじる必要がないため (ビューでも特にコントローラー内でも)、2 番目のオプションの方が優れていると思います。

于 2013-05-23T09:51:53.567 に答える
0

devise gem を使用している場合は、current_user でプレイすることをお勧めします。これは、ユーザー ID を渡すよりも安全です。

于 2013-05-23T10:12:07.390 に答える