我有这个问题。我需要在mysql数据库上使用现有的表。表的名称与RoR约定不兼容,我需要重新映射表名和属性的名称。我已经创建了一个脚手架,可以在网页上显示表格内容,但我无法更改映射。是否有解决方案向RoR指示类的名称与数据库中表的名称之间的关系?和一个解决方案,以指示类的属性和表上的字段之间的关系? 感谢。
答案 0 :(得分:1)
可以使用table_name类方法指定表名。
对于attributes /列,您需要使用alias_attribute方法为属性显式指定别名。例如,如果您有name_of_thing
列,但希望将其视为name
,那么您的模型中需要这样的内容:
class CreateUtenti < ActiveRecord::Base
self.table_name = "another_name"
alias_attribute :name, :name_of_thing
end
答案 1 :(得分:0)
是的,你可以在模型中传递表名,如:
class YourModel < ActiveRecord::Base
self.table_name = "pass_table_name_here"
end