Kontrol akses di rel dilakukan di level pengontrol, bukan level model. Akibatnya, Rails tidak menyediakan mekanisme untuk mengakses pengguna saat ini, cookie, dan sebagainya, dari kode model dalam. Anda dapat memasukkan data ke dalam model dengan parameter ke metode, jika Anda mau. Namun, itu akan mengabaikan keputusan desain dari beberapa programmer terbaik di industri ini, jadi saya pikir itu mungkin bukan pilihan yang baik.
Dengan kata lain, jangan lakukan apa yang Anda coba lakukan. Letakkan pengetahuan tentang cara melakukan sesuatu dalam model Anda, tetapi berikan kontrol pada siapa yang dapat melakukannya di pengontrol.
Di sisi lain, jika Anda mencoba menyimpan pengguna saat ini karena suatu alasan, maka Anda harus melakukannya dengan semacam asosiasi (atau dokumen bersarang, karena Anda menggunakan mongo). Dalam hal ini, jangan gunakan current_user
di dalam model, melainkan buat attr_accessor
pada pengguna, atur pengguna pada instance model Anda ke current_user
di pengontrol, lalu simpan sesuai kebutuhan Anda di panggilan balik.