我在使用 播种我的数据库时遇到问题seed.rb
,特别是在涉及表关系的地方。
这是代码示例:
# seed.rb
user = User.find_or_create_by_login(
:login => "myname",
:email => "myname@gmail.com",
:user_type => "Admin",
:password => "admin",
:password_confirmation => "admin")
project = Project.find_or_create_by_user_id(
:user_id => user.id,
:name => "Test Project")
创建项目时(以及我在上面遗漏的其他不相关参数),user_id 为空。我怎样才能让它工作?
这是我在如此简单的事情中看到的最奇怪的行为。在我的种子文件中,我创建了大约 8 个表,其中一些嵌套了 3-4 层(即用户 has_many 项目;项目 has_many 任务等)。
user
当我如上所述调用用户并user.id
在此之后多次引用时,它只能工作一次!我尝试在创建每条新记录之前添加 [user.reload] 但无济于事。我不认为这对任何人都有意义,但是这里有什么可能性吗?谢谢大家。