2011-10-15 79 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