Я создаю сайт стиля SaaS, в котором у меня будет несколько клиентов, которые будут управлять своими рабочими процессами и данными на одном и том же сайте, и, таким образом, одну и ту же базу данных.
Я даже не уверен, есть ли слово для этой концепции, но существует ли какой-либо установленный способ автоматического разделения данных, чтобы любые вызовы ActiveRecord в базу данных были отфильтрованы/ограничены правильной клиентской идентификацией пользователя, которая вошел в систему?
Простым способом было бы, конечно, просто добавить "where client_id = ?
" и поместить в идентификатор клиента пользователя... в конец каждого запроса ActiveRecord.
Есть ли какие-либо идеи фильтра для моделей, так что любой метод поиска (включая динамические) будет автоматически привязываться к client_id
к ним автоматически?. Поэтому я мог просто сделать Model.find_by_what_I_want(foo)
, и он автоматически знал бы, что это ограничивает только записи, принадлежащие правильному идентификатору клиента, хотя я не указал его явно?