2014-02-12 2 views
0

Я использую Acts_as_tenant. Док говорит "adds a handy helper to your controllers current_tenant, containing the current tenant object".Rails Acts Как ошибка арендатора с использованием current_tenant в контроллере

Но, я хотел бы получить доступ к существующему арендатору в модели. Модель 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) 

????

ответ

0

Это сработало:

def self.closed 
    where("statuscode_id = ?", ActsAsTenant.current_tenant.request_closed) 
    end