Rails在控制器中使用current_tenant作为租户错误

时间:2014-02-12 15:01:59

标签: ruby-on-rails acts-as-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 个答案:

答案 0 :(得分:0)

这有效:

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