Checkbox 表单复选框帮助程序出现未定义的方法错误

Checkbox 表单复选框帮助程序出现未定义的方法错误,checkbox,ruby-on-rails-3.2,Checkbox,Ruby On Rails 3.2,我的复选框助手出错,不明白我做错了什么: undefined method `prive' for #<PubContributeur:0xa63b8fc> 有什么想法吗?我找到了解决办法 当我更换 = f.check_box :prive my _form.rb中的行,并在我的实例变量上进行调试: = debug @pub_container 我能看到一些奇怪的东西: --- !ruby/object:PubContributeur attributes: id:

我的复选框助手出错,不明白我做错了什么:

undefined method `prive' for #<PubContributeur:0xa63b8fc>
有什么想法吗?

我找到了解决办法

当我更换

 = f.check_box :prive
my _form.rb中的行,并在我的实例变量上进行调试:

= debug @pub_container
我能看到一些奇怪的东西:

--- !ruby/object:PubContributeur
attributes:
  id: 
  nom: 
  description: 
  created_at: 
  updated_at:
我确实检查了我的数据库/迁移/并发现了问题。 我的迁移文件正在创建一个名为“description”的字符串字段,而不是一个名为“prive”的布尔字段

如果我们考虑一下第一条错误信息。这很奇怪,因为模型文件中的类确实有一个“prive”可访问的属性,这可能会误导我们认为该类确实有“nom”和“prive”作为attibuts

要理解正在发生的事情,我们必须对Rails和Ruby有深入的了解。这来自于继承的ActiveRecord::Base。 后台Rails的魔力基于MyDB的表pub_contributors中的列名称为PubContributeur类创建属性

我希望Rails的错误消息能更明确一点^^

= debug @pub_container
--- !ruby/object:PubContributeur
attributes:
  id: 
  nom: 
  description: 
  created_at: 
  updated_at: