8
我試圖定義一個內遷移的方法,但我發現了一個未定義的方法錯誤:定義方法
undefined method 'do_something_specific' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x4868018>
我寧願不別處定義它,因爲它不」這與應用程序的其他部分無關,只是這種特定的遷移。
需要明確的是,我的移民看起來像:
class DoSomethingSpectacular < ActiveRecord::Migration
def self.up
do_something_specific(1, 2)
end
def self.down
end
private
def do_something_specific(p_1, p_2)
# something happens here...
end
end
我失去了一些東西在這裏?爲什麼我不能像這樣定義這個?
是的,我不明白它是從適配器內部調用它,但我認爲它應該仍然在它的範圍內。無論如何,現在我得到一個錯誤未定義的方法'do_something_specific'爲類:類 – 2009-09-27 20:03:04
D'哦對不起。由於'self.up'本身就是一個靜態方法,對'class'的調用將返回'Class'而不是'DoSomethingSpectacular'。我更新了示例代碼。 – Koraktor 2009-09-27 20:24:08
我認爲你可以安全地刪除'DoSomethingSpectacular。'。在self.up – khelll 2009-09-28 03:23:16