Ruby on rails ActionView::Template::Error(PG::UndefinedColumn:错误:column posts.user\u id不存在
在开发模式下,我的代码在我的系统上运行良好,但是当我推到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错误。您可以按照另一篇文章中的建议为数据库设定种子。有关设定数据库种子的详细信息,请查看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
没有任何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