性別フィールドを変更したいのですが、 最初はジェンダーフィールドを真または偽のブール値として宣言しました。しかし、今私はリスト(男性、女性、その他)として変更したい。rubyを削除してrubyでリストを追加する
class AddExtraFieldsToUser < ActiveRecord::Migration
def change
add_column :users, :phone_number, :string
add_column :users, :date_of_birth, :datetime
add_column :users, :gender, :boolean, default: false
add_column :users, :live_in, :string
add_column :users, :description, :text
end
end
私は次のように修正することができます.... ...私は正しい方法を知っている
を聞かせてください、私は新しいもの
rails g migration AddGenderToUsers gender:select
を作成することによって、その後rake db:migrate
その後、rails g migration RemovegenderFromUsers gender:boolean
をやって考えますuser.rb
html
<%= f.select :gender, User::GENDER_TYPES %>
上記の手順は正しいですか他の方法ですか?
またはその代わりに、あなたは '' STRING'するgender'定義することができます。これにより、パフォーマンスは若干低下しますが、その差はごくわずかです。 –
異なる性別の配列を宣言する場合は、ジェンダー値を扱う際に役立つ多数の組み込みメソッドが用意されているので、列挙型の使用を検討してください。 – hypern
1)change_column:users、:gender、:integer、既定値:0は、すでに生成されたマイグレーションファイルまたは新しく生成されたAddGenderToUsersファイルに書き込む必要がありますか? 2)私はどこで男性女性の他を宣言できますか? – MSK