[英]Updating a record through the rails console when using the Apartment gem
我正在通過 Apartment gem 開發一個多租戶應用程序。 一切正常,但我對某些事情感到好奇。 如何在 Rails 控制台中更新給定租戶的記錄?
例如,如果我執行以下操作,它會按您的預期工作(當然沒有公寓):
@alerts = Alert.create(name "blah", date_triggered: "blah", etc..)
你會如何對待租戶? 下面的代碼不起作用,這並不奇怪。 我只是不確定您如何在控制台中輕松完成此操作。
@alerts = tenant01.Alert.create()
警報在租戶的范圍內,因此每個租戶都有自己的警報。 如果我使用瀏覽器添加/修改記錄,這是 100% 工作,我只是不完全確定如何將 sql 轉換回 rails 命令並通過控制台進行測試。
任何想法或想法將不勝感激。
據我所知,有兩種方法可以實現這一點。
例如,
Apartment::Tenant.switch('tenant_name') do
@alerts = Alert.create(name "blah", date_triggered: "blah", etc..)
end
默認情況下,rails 控制台將從公共模式查詢。 檢查Apartment::Tenant.current
以獲取 rails 用來查詢數據的租戶。
執行完代碼塊后,rails 控制台將切換回公共模式。
Apartment::Tenant.switch!('tenant_name')
然后, @alerts = Alert.create(name "blah", date_triggered: "blah", etc..)
或者做任何事情。
然后rails控制台會切換到特定的租戶,我們需要根據需要手動切換租戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.