开发者

Ruby activerecord seems to ignore set_table_name

I'm running ruby on Mac OSX 10.6.4, using Ruby 1.8 and activerecord 2.3.8. I'm running the following code inside of NetBeans 6.9 but I'm using the ruby interpreter from 10.6

I have the following code:

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)

When the code runs I get an error that it can't find the table test_informations. There is a table called test_information and I can query it...but not with activerecord.

Is there some magic incantation that I have to use with set_table_name? I was under the impression that it was pretty straightforward to use an existing schema with activerecord...

Any idea开发者_开发百科s?

Thanks in advance,

--Robert


The syntax is set_table_name "test_information" (no equals sign)


set_table_name is a method so you need to say

set_table_name "test_information"

Pass as parameter not as an assignment


Interesting...if I include either of the following lines after the class definition it works great.

Test_Information.pluralize_table_names = false
Test_Information.set_table_name("test_information")

Is there some reason why it doesn't work inside the class definition?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜