所以我試圖遷移遷移腳本中的一些數據,但數據似乎並沒有保存。但是,如果我複製代碼並直接在控制檯中運行它,它會保存。誰能幫我弄清楚爲什麼?導軌遷移腳本VS控制檯
這是我的遷移腳本中的代碼。我將我自己表中的頭像數據移動到我的個人資料表中。
def self.up
add_column :users, :featured, :boolean, :default => false
add_column :profiles, :avatar_file_name, :string
add_column :profiles, :avatar_content_type, :string
add_column :profiles, :avatar_file_size, :integer
add_column :profiles, :avatar_updated_at, :datetime
Avatar.all.each do |a|
user = User.find(a.user_id)
user.profile.avatar_file_name = a.avatar_file_name
user.profile.avatar_content_type = a.avatar_content_type
user.profile.avatar_file_size = a.avatar_file_size
user.profile.avatar_updated_at = a.updated_at
if a.featured == true
user.featured = true
end
user.save
end
# drop_table :avatars
end
而不是'如果a.feature ==真',你可以,如果使用'。功能?'。 Rails自動添加?到布爾屬性的末尾。 – 2010-12-16 03:08:05