Rails种子混乱

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]但无济于事.我不认为这对任何人都有意义,但这里有什么可能吗?谢谢大家.

ssc*_*rus 5

我弄清楚问题是什么.未填充的字段未attr_accessible在各自的模型中明确列出.列出的字段正确保存.

非常感谢大家的帮助.