我正在使用 Ruby on Rails 3,并且正在尝试在我的应用程序数据库中播种数据。
在 'RAILS_ROOT/models/user.rb' 我有:
class User < ActiveRecord::Base
attr_accessible #none
validates :name,
:presence => true
validates :surname,
:presence => true
validates :email,
:presence => true
end
在 'RAILS_ROOT/db/seeds.rb' 我有:
# Test 1
User.find_or_create_by_email (
:name => "Test1 name",
:surname => "Test1 surname",
:email => "test1@test1.test1"
)
# Test2
User.find_or_create_by_email (
:name => "",
:surname => "",
:email => "test2@test2.test2"
)
所以,在终端中运行
rake db:seed
当然,数据库不会填充数据,因为“attr_accessible”为零(案例测试1)并且验证未通过(案例测试2)。
我想在播种过程中跳过验证和“attr-accessible effects”。 可能吗?如果是这样,该怎么做?
PS:我不想在 'RAILS_ROOT/db/migrate/201..rb' 代码中使用这样的:
execute "INSERT INTO users ( name, surname, email ) VALUES ( "Test1 name", "Test1 surname", "test1@test1.test1")"
更新
我还需要跳过所有回调。可能吗?如果是这样,怎么做?