我有一条错误消息-“ 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
这是因为您尚未将:news_id
添加到Comment
的模型中。
编写迁移以将news_id添加到Comment,您的问题将得到解决。
您可以在puts params
操作开始时通过create
打印出参数,以检查其发送的实际属性。
或您可以检查要进行注释的操作以创建参数以获取参数。
在生产环境中使用PostgreSQL数据库的Ruby on Rails应用程序时,我遇到了同样的问题。
这是我的解决方法:
问题是,我使用生成的新迁移文件在开发环境的表中添加了一些新列,但是当我推送到生产环境时,我没有也不要通过迁移来创建这些新列。
我要做的就是简单地在生产环境中运行数据库迁移,以使用在[[开发环境中生成的迁移文件创建那些新列。
rails db:migrate
就这些。我希望这会有所帮助