我想設置一些類變量存儲在Rails應用程序路徑(但我認爲這更多的是紅寶石的問題)在Ruby 1.9中訪問類變量的正確方法是什麼?
基本上我的階級是這樣
class Image < ActiveRecord::Base
@@path_to_folder = "app/assets"
@@images_folder = "upimages"
@@path_to_images = File.join(@@path_to_folder, @@images_folder)
end
但是,當我嘗試通過做Image.path_to_images
訪問@@path_to_images
從我的控制,我得到一個NoMethodError
當我試着使用Image.class_eval(@@path_to_images)
,我得到uninitialized class variable @@path_to_images in ImagesController
我已搜索周圍,所有我見過的說,這些會的工作,所以我對這個
更重要的是很迷茫,我試圖定義簡單類與紅寶石控制檯,像這樣
class Bidule
@@foo = "foo"
Bar = "bar"
end
所以我試着,盡我所能(訪問前兩個版本)來訪問它們,但沒有辦法總是得到異常提出
爲什麼不是類常量?你需要訪問器('cattr_accessor')來訪問外部的類變量。 http://apidock.com/rails/Class/cattr_accessor – tokland