성별 필드를 수정하고 싶습니다. 처음에는 gender 필드를 부울 true 또는 false로 선언했습니다. 하지만 지금은 목록 (남성, 여성, 기타)으로 변경하고 싶습니다. 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
GENDER_TYPES = ["Male", "Female", "Other"]
HTML
<%= f.select :gender, User::GENDER_TYPES %>
위의 과정이 정확하거나 다른 방법일까요? 양식 페이지에 대한
change_column :users, :gender, :integer, default: 0
이 작업을 수행 : 당신이 그것을 수행하려는 경우
또는 대안을 사용자가 정의 할 수'gender'는'string' 수 있습니다. 이 차이는 무시할 수는 있지만 성능이 약간 느려집니다. –
다른 성별의 배열을 선언하려는 경우 성별 값을 처리하는 데 도움이되는 몇 가지 레일 내장 메서드가 있으므로 enum을 사용하는 것이 좋습니다. – hypern
1) 이미 생성 된 마이그레이션 파일이나 새로 생성 된 AddGenderToUsers 파일에서 change_column : users, : gender, : integer, default : 0을 쓸 수 있습니까? 2) 어디에서 남성 여성 기타를 선언 할 수 있습니까? – MSK