我在Mac OSX 10.6.4上使用Ruby 1.8和activerecord 2.3.8运行ruby。我在NetBeans 6.9中运行以下代码,但我使用的是10.6的ruby解释器
我有以下代码:
require 'rubygems'
require 'active_record'
ActiveRecord::Base.establish_connection
(
:adapter=> "mysql",
:host => "localhost",
:username => "test",
)
class Test_information < ActiveRecord::Base
set_table_name = "test_information"
end
record = Test_information.find(:first)
当代码运行时,我得到一个错误,它无法找到表test_informations。有一个名为test_information的表,我可以查询它......但不能使用activerecord。
我是否需要使用set_table_name进行一些神奇的咒语?我的印象是,使用带有activerecord的现有模式非常简单......
有什么想法吗?
提前致谢,
- 罗伯特
答案 0 :(得分:4)
语法为set_table_name "test_information"
(无等号)
答案 1 :(得分:2)
set_table_name是一个方法,所以你需要说
set_table_name "test_information"
作为参数传递而非作为作业
答案 2 :(得分:0)
有意思......如果我在课程定义之后包含以下任何一行,那么效果很好。
Test_Information.pluralize_table_names = false
Test_Information.set_table_name("test_information")
是否有某些原因导致它在类定义中不起作用?