是否可以为属性指定列?我有类似的东西:
NAME, COUNTRY
数据库非常庞大,我有超过一千列像这样大写。我想这样说:
attr_accessible :name, :country
其中:name =列名称。我更喜欢Model.name而不是Model.NAME。无法对结构文件中的每个列名称进行缩写。
答案 0 :(得分:1)
这是一个按照你喜欢的方式做主意的想法。
生成迁移的命令:
(在我的示例中,我将此应用于Posts
表。根据您的表名更改
rails g migrate RenameColumnsOfPosts
以下是迁移up
方法。这里列出了所有列名称,并且我正在应用rename_column
使其成为小写。
class RenameColumnsOfPosts < ActiveRecord::Migration
def up
Post.columns.map(&:name).each do |column_name|
rename_column(:posts, column_name, column_name.downcase)
end
end
def down
#You can do the opposite operation here. Leaving on you
end
end
由于我没有亲自运行,可能需要进行一些更改。所以从它开始,让我知道是否面临任何问题。
答案 1 :(得分:0)
Please write code inside of model ,
it's just for demostration code,after you get it and update as per logic :
This Code inside of model :
...
attr_accessor :name,:country
before_save :fill_save
..
#assign variable like ...
def fill_save
self.NAME= self.name
self.COUNTRY= self.country
end
....