8

我有一条错误消息 - “未知属性:news_id”,但我不明白问题出在哪里。我有新闻控制器,我想为每条新闻创建评论。我希望有人能帮助我。提前致谢。

架构.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
4

3 回答 3

8

这是因为您还没有添加:news_id到您Comment的模型中。

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

于 2012-09-21T19:14:04.487 回答
1

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

或者您可以查看您有评论创建操作以获取参数的路线..

于 2012-09-21T19:06:49.327 回答
0

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

这是我解决它的方法

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

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

rails db:migrate

就这样。

我希望这有帮助

于 2020-02-14T13:17:31.730 回答