Řízení přístupu v kolejích se provádí na úrovni ovladače, nikoli na úrovni modelu. V důsledku toho rails neposkytuje žádný mechanismus pro přístup k aktuálnímu uživateli, souborům cookie atd. z kódu modelu. Pokud chcete, můžete data do modelu přenést pomocí parametrů do metod. To by však bylo ignorování návrhových rozhodnutí některých nejlepších programátorů v oboru, takže si myslím, že to pravděpodobně není dobrá volba.
Jinými slovy, nedělejte to, o co se snažíte. Do svého modelu vložte znalosti o tom, jak věci dělat, ale do ovladače umístěte kontrolu nad tím, kdo je může dělat.
Na druhou stranu, pokud se z nějakého důvodu pokoušíte uložit aktuálního uživatele, měli byste to udělat pomocí nějaké asociace (nebo vnořeného dokumentu, protože používáte mongo). V takovém případě nepoužívejte current_user
uvnitř modelu, ale raději vytvořte attr_accessor
on user, nastavte uživatele na instanci vašeho modelu na current_user
v ovladači a poté jej uložte, jak potřebujete, do zpětného volání.