Доступ к current_user из модели в Ruby on Rails

Мне нужно реализовать детальный контроль доступа в приложении Ruby on Rails. Разрешения для отдельных пользователей сохраняются в таблице базы данных, и я подумал, что было бы лучше позволить соответствующему ресурсу (т.е. экземпляру модели) решить, разрешено ли определенному пользователю выполнять чтение или запись в него. Принятие этого решения в контроллере каждый раз, конечно, не будет СУХОЙ.
Проблема в том, что для этого модели необходим доступ к текущему пользователю, чтобы вызвать что-то вроде<code>may_read</code>?(<code>current_user</code>, <code>attribute_name</code>), Тем не менее, в целом модели не имеют доступа к данным сеанса.

Есть несколько предложений по сохранению ссылки на текущего пользователя в текущей теме, например, вэтот блог, Это, безусловно, решит проблему.

Соседние результаты Google посоветовали мне сохранить ссылку на текущего пользователя в классе User, хотя, как мне кажется, он был придуман кем-то, чье приложение не должно одновременно обслуживать большое количество пользователей. ;)

Короче говоря, у меня возникает ощущение, что мое желание получить доступ к текущему пользователю (то есть данным сеанса) из модели исходит от меняделать неправильно.

Можете ли вы сказать мне, как я ошибаюсь?

Ответы на вопрос(10)

Ваш ответ на вопрос