我使用POW在我的MAC上本地運行Rails。所以,我的網址有一個子域名。Rails Pow訪問request.subdomain在型號
我想在模型中使用子域,但下面的代碼給了我「未定義的局部變量或方法`請求'」。
代碼:
class Vehicle < ActiveRecord::Base
acts_as_tenant(:tenant)
ct = Tenant.where(subdomain: request.subdomain).first
if ct.data.present?
ct.data.each do |key, value|
ransacker key do |parent|
Arel::Nodes::InfixOperation.new('->', parent.table[:data], key)
end
end
end
PS - 代碼視圖中正常工作。
我在嘗試這個,因爲我想在hstore類型字段中的用戶定義字段上進行Ransack搜索。我第一次嘗試使用if ActsAsTenant.current_tenant.data.present?
- 這在當地很有用,但在Heroku上卻不行(我還沒有弄清楚爲什麼)。在模型
helper_method :my_var
def my_var
@ct = Tenant.find_by_subdomain!(request.subdomains.first)
end
然後:
UPDATE1
我試圖把這個在applications.rb
if @ct.data.present?
但是,@ct是零。如何在應用程序控制器中設置變量以用於模型?
奇怪的例子你在單例類方法中定義實例變量。 – 2014-09-22 15:51:31
感謝您的幫助!我試着添加你的def,然後這個'if @ ct.data.present?'。但是,@ct是零。看到我更新的問題。 – Reddirt 2014-09-22 16:13:07