我有一個名爲城市模型。在哪裏放置一個默認值從Model in Rails返回?
我有幾種方法,找一個城市根據不同的屬性(市接近郵編,城市按人口...等)。然而,如果一個城市沒有找到,我想默認給定一個城市,比如說紐約。
所以我發現自己這個做了很多:
@city = City.find_by_zip_code(83030)
if @city.nil?
@city = City.find_by_name('New York')
end
這只是一個方法,我期待通過郵政編碼,但我一直在幾種方法這樣做。在哪裏,我應該怎麼集中此默認:
City.find_by_name('New York')
編輯:
難道是一個好主意,有這樣的方法:
def self.default_city
@default_city = City.find_by_name('New York')
end
要避免獲取數據庫每次我想獲取默認城市?
是否有您的Rails.cache之間的差異,做@default_city || = City.find_by_name(「紐約」)? –
是的。緩存將按照您的需要持續或縮短(:expires_in選項)。使用實例變量仍然要求您對每個請求運行查詢。 – tybro0103