2016-07-07 62 views
0

因此,我正在为希望将旧的mysql数据库用于新站点的客户端的项目工作。将滑轨模型与不同名称的mysql数据库表关联

我无法更改数据库中表的名称,因为其他应用程序使用相同的数据库。我正在使用Rails来编写新网站。

数据库中表的当前名称与Rails命名约定不匹配。有没有办法将模型“user.rb”与表名“tbl_user”关联? (另外,我尝试创建一个名为“tbl_user”的.rb文件,但表名称需要是“tbl_users”)。

感谢您的帮助!

回答

0

你可以做到这一点如下:

在模型文件user.rb,你把这个行:

class User < ActiveRecord::Base 
    self.table_name 'tbl_user' 
end 

而且模型User都将映射到表tbl_user

+0

谢谢你的响应!在我改变我的user.rb文件之后,就像你说的,我去了consle并尝试了User.new,并得到以下错误(任何想法为什么?):User.new ArgumentError:错误的参数数量(给定1,预期0 ) from /usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0/lib/active_record/model_schema.rb:134:in'table_name' from/home/ubuntu/workspace/sample -app/app/models/user.rb:2:在'' from /home/ubuntu/workspace/sample-app/app/models/user.rb:1:in'' – sb4f1

+0

啊,哈,我检查了文档,代码应该读取self.table_name ='tbl_user'。感谢您让我走上正轨! – sb4f1

+0

@ sb4f1如果我的回答对您有帮助,您可以将我的答案标记为有用答案。 –