所以我试图迁移迁移脚本中的一些数据,但数据似乎并没有保存。但是,如果我复制代码并直接在控制台中运行它,它会保存。谁能帮我弄清楚为什么?导轨迁移脚本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