Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActionView::Template::Error(PG::UndefinedColumn:错误:column posts.user\u id不存在_Ruby On Rails_Ruby_Heroku_Pg - Fatal编程技术网

Ruby on rails ActionView::Template::Error(PG::UndefinedColumn:错误:column posts.user\u id不存在

Ruby on rails ActionView::Template::Error(PG::UndefinedColumn:错误:column posts.user\u id不存在,ruby-on-rails,ruby,heroku,pg,Ruby On Rails,Ruby,Heroku,Pg,在开发模式下,我的代码在我的系统上运行良好,但是当我推到heroku时,我在日志中得到了这个错误 我使用的是Rails 5.2.3和ruby 2.3.3 ActionView::Template::Error PG::UndefinedColumn:错误:column posts.user\u id不存在 第1行:从posts.user_id=$1的帖子中选择COUNT* 在heroku控制台上,当我尝试检索用户id时 但在发展方面,我得到了 后模型 用户模型 没有任何Post实例会给您提供Ni

在开发模式下,我的代码在我的系统上运行良好,但是当我推到heroku时,我在日志中得到了这个错误

我使用的是Rails 5.2.3和ruby 2.3.3

ActionView::Template::Error PG::UndefinedColumn:错误:column posts.user\u id不存在

第1行:从posts.user_id=$1的帖子中选择COUNT*

在heroku控制台上,当我尝试检索用户id时

但在发展方面,我得到了 后模型 用户模型 没有任何Post实例会给您提供NilClass错误。您可以按照另一篇文章中的建议为数据库设定种子。有关设定数据库种子的详细信息,请查看


没有任何Post实例会给您提供NilClass错误。您可以按照另一篇文章中的建议对数据库进行种子设定。有关种子设定数据库的详细信息,请检查

,以在Heroku上测试您的应用程序,我们假定该应用程序正在生产模式下运行,您可能需要对生产数据库进行种子设定

您应该有一个db/seeds.rb文件,可以在其中执行此操作

请参阅以了解如何使用它。 另请参阅,以获取想法

如果您使用seeds.rb文件构建种子,您应该能够运行

heroku run rake db:seed

要在Heroku上测试您的应用程序,我们假设它在生产模式下运行,您可能需要为生产数据库添加种子

您应该有一个db/seeds.rb文件,可以在其中执行此操作

请参阅以了解如何使用它。 另请参阅,以获取想法

如果您使用seeds.rb文件构建种子,您应该能够运行

heroku run rake db:seed

不确定部署到heroku时是否可以设置自动迁移, 但是一旦代码部署到heroku,您就需要运行

heroku run rake db:migrate

您的问题将得到解决。

不确定在部署到heroku时是否可以设置自动迁移, 但是一旦代码部署到heroku,您就需要运行

heroku run rake db:migrate

您的问题将得到解决。

在生产中,您没有在posts表中创建任何内容。Post.last==nil。错误不是说posts.user\U id不存在。错误是说nil:NILCASS的未定义方法“user\U id”。当我尝试posts/new时,我得到了Post的ActiveModel::UnknownAttributeError未知属性“user\U id”。它看起来像yo您在数据库中没有帖子。请尝试运行Post.count,我猜这将返回0。在生产时,您尚未在posts表中创建任何内容。Post.last==nil。错误不是说posts.user\u id不存在。错误是nil:NilClass的未定义方法'user\u id'。当我尝试posts/new时,我得到的是ActiveModel::UnknownAttributeError UnknowPost的nown属性“user\u id”。数据库中似乎没有Post。请尝试运行Post.count,我猜这将返回0。错误并不表示这是解决方案。如果没有posts表,则错误将为PG::UndefinedTable:error为nil:NilClass提供未定义的方法“user\u id”,这意味着Heroku会记录该错误因为没有Post实例。即使类是there@lacostenycoder你看!你否决了一个正确的答案。@如果正确,你可以投票表决解决方案。错误并不表明这就是解决方案。如果没有posts表,错误将是PG::UndefinedTable:Errors为nil:NilCl提供未定义的方法“user\u id”ass,这意味着Heroku会记录该错误,因为没有Post实例there@lacostenycoder你看,你否决了一个正确的答案。@如果正确的话,你介意投解决方案的票。谢谢,我很感激。我会调查的谢谢,我很感激。我会调查的
class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable, :trackable

         has_many :posts, dependent: :destroy
end
heroku pg:reset
heroku run rake db:migrate
heroku restart
heroku run rake db:seed
heroku run rake db:migrate