簡體   English   中英

使用 Apartment gem 時通過 rails 控制台更新記錄

[英]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 命令並通過控制台進行測試。

任何想法或想法將不勝感激。

據我所知,有兩種方法可以實現這一點。

  1. 在特定租戶參考中添加邏輯

例如,

Apartment::Tenant.switch('tenant_name') do
  @alerts =  Alert.create(name "blah", date_triggered: "blah", etc..)
end

默認情況下,rails 控制台將從公共模式查詢。 檢查Apartment::Tenant.current以獲取 rails 用來查詢數據的租戶。

執行完代碼塊后,rails 控制台將切換回公共模式。

  1. 您還可以永久切換到特定租戶,

Apartment::Tenant.switch!('tenant_name')

然后, @alerts = Alert.create(name "blah", date_triggered: "blah", etc..)或者做任何事情。

然后rails控制台會切換到特定的租戶,我們需要根據需要手動切換租戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM