我试图使用现有的(不是rails制作的)mysql数据库来设置一个简单的CRUD。我用脚手架设置了必要的文件,并编辑了'_form'文件以匹配我的表格。Rails无法识别现有的数据库
但是,当我在浏览器中打开该网站,点击“新建”,填写表格,单击sibmit,我得到一个错误:NoMethodError in ContactsController#create - undefined method
名”的零:NilClass`
仿佛它不承认数据库,对吗?并且有一个匹配模型,因为我使用脚手架。
有什么建议吗?
UPDATE
我不能运行rake db:migrate
或rake db:schema:load
因为数据库已经存在。
如果我去控制台,输入Contact
(表IM与工作的名称),它说NameError: uninitialized constant Contacts
但如果我键入Contact.new
它说#<Contact idContact: nil, name: nil, address: nil, email: nil, phones: nil, investment_advisor: nil>
这意味着它找到表,因为这些都是表的列
我假设你运行rake db:migrate?你可以运行rake db:schema:load?当您打开导轨控制台并输入Contact.new时会发生什么? – 2012-01-06 14:32:43
在这里发布你的#create方法是明智的,但从它的外观来看,你并不是以某种方式实例化一个Contact。 – muffinista 2012-01-06 14:32:57
您能否从控制器和表单代码显示更新/创建操作?和模型或数据库表结构将很高兴看到找到原因 – alony 2012-01-06 14:33:20