【发布时间】:2018-05-19 13:39:10
【问题描述】:
我有一个小问题。我正在制作一个简单的项目网站,它有 4 个模型(用户、文章、讨论、cmets)。
已建立以下协会:
用户有很多讨论和cmet,文章有很多讨论(和cmet通过讨论)。评论属于讨论和用户,讨论属于文章。
在我的seeds.rb 文件中,我已将条目放入这些表中,并具有正确的关联。在输入了几个条目后,我添加了一个
puts "Created #{User.all.length} users..."
只是为了让我可以在终端中看到一切正常。
当使用rails db:seed 时,puts 消息将为用户和文章输出正确的数字,但对于 cmets 和参数会输出 0。
但是,我可以检查rails dbconsole SELECT * FROM comments; 将返回种子文件中的所有条目。
在 pry-rails 控制台中,关联似乎也已到位。 Comment.first.user 之类的命令将根据种子文件输出预期的关联。
为什么puts "Created #{Comment.all.length} comments..."
行在终端输出“Created 0 cmets...”,而Comment.all.length 在 pry 控制台输出 8(种子文件中创建的 cmets 数量)?
【问题讨论】:
-
尝试使用
count而不是length(你可以查看这个答案here) -
@sovalina 您链接的帖子内容丰富。但是,我尝试使用
count和size运行rails db:seed,但得到相同的结果(不计入终端,但存在于数据库中)。
标签: ruby-on-rails postgresql pry-rails