属性の列を指定することはできますか? 私は次のようなものを持っています:
NAME, COUNTRY
データベースは非常に大きく、このように大文字で始まる 1000 を超える列があります。私はそれらを次のように参照したい:
attr_accessible :name, :country
ここで、:name = 列名。Model.NAME よりも Model.name の方がいいと思います。構造ファイル内のすべての列名を小文字にすることはできません。
属性の列を指定することはできますか? 私は次のようなものを持っています:
NAME, COUNTRY
データベースは非常に大きく、このように大文字で始まる 1000 を超える列があります。私はそれらを次のように参照したい:
attr_accessible :name, :country
ここで、:name = 列名。Model.NAME よりも Model.name の方がいいと思います。構造ファイル内のすべての列名を小文字にすることはできません。
これは、あなたが好む方法を行うためのアイデアです。
移行を生成するコマンド:
(私の例では、これをテーブルに適用してい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
私は個人的にそれを実行しなかったので、いくつかの変更が必要になるかもしれません. それで、それから始めて、何か問題に直面している場合はお知らせください.
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
....