Rails действует как ошибка арендатора при использовании current_tenant в контроллере
Я использую Acts_as_tenant
, Док говорит "adds a handy helper to your controllers current_tenant, containing the current tenant object"
,
Но я хотел бы получить доступ к текущему арендатору в модели. Tenant
модель содержит столбец - request_closed
,
Я бы хотел, чтобы это сработало:
class Worequest < ActiveRecord::Base
acts_as_tenant(:tenant)
closedcode = current_tenant.request_closed
scope :notclosed, where("statuscode_id < ?", closedcode )
Я также попробовал:
closedcode = ActsAsTenant.current_tenant.request_closed
and
closedcode = self.tenant.request_closed
Но я получаю:
undefined local variable or method `current_tenant'
Есть ли способ получить доступ к current_tenant в модели?
Спасибо за помощь!
Update1
Я думал, что это будет работать - это работает в разработке, но не на моем промежуточном сервере Heroku.
Контроллер приложений:
class ApplicationController < ActionController::Base
protect_from_forgery
set_current_tenant_by_subdomain(:tenant, :subdomain)
before_filter :set_tenant_codes
def set_tenant_codes
$requestclosed = current_tenant.request_closed
end
Контроллер запросов:
scope :notclosed, where("statuscode_id < ?", $requestclosed )
????
1 ответ
Решение
Это сработало:
def self.closed
where("statuscode_id = ?", ActsAsTenant.current_tenant.request_closed)
end