【发布时间】:2013-10-07 18:32:53
【问题描述】:
对 Rails 来说是全新的,我读到它会更改您的表名,因为它会做出一堆假设,但我正在使用在预 Rails 中创建并在 PHP API 中使用的表,因此我无法更改它们.
我在 Rails 中创建了一个引用现有表的类,当然我得到了一个找不到表的 sql 错误,因为它在表名的末尾附加了一个 s,所以我继续把它放在我的类中定义:
class BookSubjects2title < ActiveRecord::Base
set_table_name "book_subjects2title"
belongs_to :bookSubjects
end
据推测,这应该可以解决我所读到的问题。然而事实并非如此,它仍然在尝试使用末尾带有 s 的名称,并且我从 rails 控制台收到错误消息。为了让 Rails 读取这个新配置,我需要做些什么吗?应该是动态的吧?
【问题讨论】:
-
不确定,所以几个 cmets:看看
config/application.rb和配置config.active_record.pluralize_table_names = false。也许这就足够了。下一个:belongs_to :bookSubjects应该是:belongs_to :book_subjects。 -
谢谢,我去看看,但是属于是表名还是类名?这是我不清楚的。我将您写入的配置行添加到 config/application.rb 中,但仍然是相同的内容。似乎很可疑,它会忽略一切,不是吗?但是应用程序的其余部分(例如它)似乎可以工作。
-
啊哈,退出控制台并重新启动它似乎已经成功了。它现在可以正确读取表格。非常感谢。如果你想继续回答这个问题,我可以给你一个荣誉(这个论坛上的人似乎真的很认真)......
标签: ruby-on-rails