用rails创建模型

时间:2014-07-25 14:04:40

标签: ruby-on-rails

现在,我无法更改我的数据库。 (每个表中有数百万行)

但我想创建我的rails应用程序。

我的数据库绝对不标准。

表名:something_people 字段:stid, stname, stfirstname, stage

我知道要更改table_name:

class People < ActiveRecord::Base
  self.table_name = "something_people"
end

我想重命名字段。要在我的rails应用程序中使用该符号,并且当我更改数据库结构时,我只需要更改模型类。

class People < ActiveRecord::Base
  self.table_name = "something_people"
  self.field_name(:id) = "stid"
  self.field_name(:name) = "stname"
  self.field_name(:firstname) = "stfirstname"
  self.field_name(:age) = "stage"
end

查询示例:

@countid = People.where(hash_of_conds).count(:id)

SELECT COUNT(stid) FROM something_people WHERE myconditions;

提问:如何做我想做的事?

如果你不明白,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:1)

你可以创建别名

class User < Activerecord::Base
  alias_attribute :id, :stid
  alias_attribute :name, :stname
end

但是当你有这样的查询时

User.where("stname like '%ab%'")

您必须在数据库中指定实际的列名