Rails种子文件没有创建记录

Xyl*_*lud 2 ruby-on-rails

我正在为一个rails项目播种数据库,而我的一条记录没有被创建.我可以在rails控制台中使用相同的语法创建它,但它只是在种子文件中不起作用.以下是种子文件中的代码:

admin = Admin.find_by_email('example@example.com')
if !admin
admin = Admin.create(:email => 'example@example.com', :password => 'password',              :password_confirmation => 'password', :first_name =>
 'example', :last_name => 'admin')
end

if !Project.find_by_name('Templates')
  Project.create(:name => 'Templates', :admin => admin)
  if Project.find_by_name("Templates")
     puts "Project Found"
  else
    puts "Project not Found"
  end  
end
Run Code Online (Sandbox Code Playgroud)

当我运行'rake db:seed'时,它总是说"Project not Found".如果我在rails控制台中运行相同的create语句,它会返回创建的Project对象.

Adr*_*uio 5

我想这可能是因为你试图创建一个无效的记录.我习惯在种子文件中使用banged方法(save!/ create!)来防止这种问题.