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
Другие вопросы по тегам