以前は、トラックコントローラーのcreateメソッドを使用して、現在のユーザーIDをトラックに追加していました。
@track.user_id = current_user.id
これは正常に機能しましたが、リリースモデル内にトラックをネストし、次を使用してリリースモデルのコールバックを介して同じことを実行しようとしています。
before_save :add_user_to_tracks
before_update :add_user_to_tracks
def add_user_to_tracks
tracks.each { |t| t.user_id = self.current_user.id}
end
未定義のメソッド`current_user'エラーが発生しますが、これは、self.current_user.idの代わりに"99 "を使用してテストするかのように機能することに非常に近いことを知っています。これにより、データベース内の各トラックのuser_idに99が追加されます。
current_user.idにアクセスできない理由