在模型创建期间Rails未知属性

时间:2012-09-21 18:59:25

标签: ruby-on-rails ruby-on-rails-3 rails-activerecord

我有一条错误消息 - “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

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

这是我的解决方法

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

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

rails db:migrate

仅此而已。

我希望这会有所帮助