2015-02-06 77 views
0

我有一個工作的應用程序。我想添加將提供相同應用的子域,但使用不同的數據。我在一個Foo表中添加了一個子域字段,並且在我希望數據按子域過濾的任何地方指向此Foo表的外鍵,例如Bar表中添加了foo_id。Rails子域名和default_scope

的ApplicationController具有的before_filter,設置@foo:

foos = Foo.where(subdomain: request.subdomain) 
@foo = foos.first if foos.count > 0 

我想酒吧模式對使用@foo默認的範圍,這樣我就不必改變所有在那裏我打電話的地方爲酒吧。

default_scope { where(foo: @foo) } 

這完全適用無子域網址,其中@foo是零和應用程序只顯示數據,其中foo_id爲NULL。但它不適用於子域,即使pry讓我看到@foo設置正確,default_scope仍會選擇NULL foo_id。

因此,不可能在模型範圍中使用來自AppController的實例變量?

回答