【问题标题】:Seed file contradiction in terminal and pry console终端和撬动控制台中的种子文件矛盾
【发布时间】: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 您链接的帖子内容丰富。但是,我尝试使用countsize 运行rails db:seed,但得到相同的结果(不计入终端,但存在于数据库中)。

标签: ruby-on-rails postgresql pry-rails


【解决方案1】:

通过在建立关联后放置puts "Created #{User.all.length} users..." 行来解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多