我在使用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.id时,它只能运行一次!我尝试在创建每条新记录之前添加[user.reload]但无济于事.我不认为这对任何人都有意义,但这里有什么可能吗?谢谢大家.
解决方法
我弄清楚问题是什么.未填充的字段未在各自模型中的attr_accessible中明确列出.列出的字段正确保存.
非常感谢大家的帮助.