2011-10-15 80 views
0

完全新的Rails,我讀到它改變你的表名,因爲它做了一堆假設,但我正在創建前導軌和在PHP中使用的表API,所以我不能改變它們。Ruby on Rails更改模型的表名

我有一個在Rails中創建的引用現有表的類,當然,由於它在表名尾添加了s,所以我得到了一個沒有找到的表的sql錯誤,所以我繼續把它放在我的類定義:

class BookSubjects2title < ActiveRecord::Base 
set_table_name "book_subjects2title" 
belongs_to :bookSubjects 
end 

據說,這應該照顧我讀過的問題。然而它並沒有,它仍然不斷嘗試最後使用s的名字,我從rails控制檯得到一個錯誤。有什麼我需要做的Rails閱讀這個新的配置?應該是動態的沒有?

+0

不確定這一點,所以一些評論:看看'config/application.rb'和配置'config.active_record.pluralize_table_names = false'。也許這就夠了。下一步:'belongs_to:bookSubjects'應該是:'belongs_to:book_subjects'。 – mliebelt

+0

謝謝,我會看,但屬於表示表名或類名?這是我不清楚的。我添加了你寫入config/application.rb的配置文件,但仍然是一樣的。看起來很詭異,它會忽略所有的事情嗎?但其他應用程序(如它)似乎工作。 – kakubei

+0

阿哈,退出控制檯並重新啓動它似乎已經成功了。它現在正確讀取表格。非常感謝。如果你想繼續回答這個問題,我可以給你信任(在這個論壇上的人似乎真的很認真)... – kakubei

回答

0

不知道這是你唯一的問題,但

belongs_to :bookSubjects 

不應該有一個「s」,用這個來代替。

belongs_to :book_subject 
+0

這是我在上面發表的評論中的問題,belongs_to必須指向表名或類名? – kakubei