ssc*_*rus 4 ruby-on-rails seed ruby-on-rails-3
我在使用数据库时遇到了麻烦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")
Run Code Online (Sandbox Code Playgroud)
创建项目时(以及我从上面遗漏的其他无关参数),user_id为空.我怎样才能让它发挥作用?
这是我在一些如此简单的事情中看到的最奇怪的行为.在我的种子文件中,我创建了大约八个表,一些表嵌套了3-4个级别(即用户has_many项目;项目has_many任务等).
当我user如上所述呼叫用户并user.id在此之后多次引用时,它只能工作一次!我尝试在创建每条新记录之前添加[user.reload]但无济于事.我不认为这对任何人都有意义,但这里有什么可能吗?谢谢大家.