在模型创建期间滚动未知属性

问题描述 投票:6回答:3

我有一条错误消息-“ unknown attribute:news_id”,但我不明白问题出在哪里。我有新闻管理员,我想为每个新闻创建评论。我希望有人能帮助我。预先感谢。

schema.rb

create_table "comments", :primary_key => "ID", :force => true do |t| 
  t.integer "Author_ID" 
  t.integer "News_ID", :null => false 
  t.string "Content", :limit => 500, :null => false 
  t.datetime "Date", :null => false 
end

评论模型:

belongs_to :news

新闻模型:

has_many :comments
ruby-on-rails ruby-on-rails-3 rails-activerecord
3个回答
7
投票

这是因为您尚未将:news_id添加到Comment的模型中。

编写迁移以将news_id添加到Comment,您的问题将得到解决。


1
投票

您可以在puts params操作开始时通过create打印出参数,以检查其发送的实际属性。

或您可以检查要进行注释的操作以创建参数以获取参数。


0
投票

在生产环境中使用PostgreSQL数据库的Ruby on Rails应用程序时,我遇到了同样的问题。

这是我的解决方法

问题是,我使用生成的新迁移文件在开发环境的表中添加了一些新列,但是当我推送到生产环境时,我没有也不要通过迁移来创建这些新列。

我要做的就是简单地在生产环境中运行数据库迁移,以使用在[[开发环境中生成的迁移文件创建那些新列。

rails db:migrate
就这些。

我希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.