我在爲我的Hobo項目運行db:setup
時出現錯誤,它帶有乾淨的數據庫。我有兩個模型,A和B,其中B通過單表繼承來擴展A.創建一切正常。但是,如果我從新的數據庫開始,耙機將失敗,並顯示以下錯誤:Rails和Hobo單表繼承問題
$ rake db:setup
...
rake aborted!
Table as does not exist
以下是我重現此問題的步驟。首先,創建流浪漢應用:
$ hobo testproject
創建的第一款車型,A
:
$ ruby script/generate hobo_model_resource a name:string type:string
設置的database.yml,生成並執行遷移:
$ ruby script/generate hobo_migration
創建第二個模型,B
:
$ruby script/generate hobo_model_resource b
編輯B
模型擴展A
:
class B < A
# --- Permissions --- #
def create_permitted?
acting_user.administrator?
end
def update_permitted?
acting_user.administrator?
end
def destroy_permitted?
acting_user.administrator?
end
def view_permitted?(field)
true
end
end
生成並運行遷移:
$ ruby script/generate hobo_migration
瞧。一切正常。現在,如果我刪除所有表和運行db:setup
,它失敗:
$ rake db:setup
...
rake aborted!
Table as does not exist
在Ruby on Rails Single Table Inheritance (STI) and unit test problem (with PostgreSQL)繼建議,我試圖消除test/fixtures/as.yml
和test/fixtures/bs.yml
,但這並沒有幫助。
流浪漢0.9.103
軌2.3.5
耙0.8.7
的JRuby 1.4.0RC1
有什麼建議?
請注意,這是修正於2010年1月24日,並在最新的候選版本。 – organicveggie 2010-02-11 16:34:58