"字段必须存在"简单表单应用程序中的错误

时间:2016-07-27 20:19:41

标签: ruby-on-rails

我试图制作一个简单的表单,您可以在其中输入用户,他们的大陆和语言。

用户所属大陆和语言,以及 大陆和语言has_many用户。

我在bash中运行了以下三个命令:

$rails generate scaffold language name:string 

$rails generate scaffold continent name:string  

$rails g scaffold user name:string language:belongs_to continent:belongs_to

当我去localhost:3000 / languages和localhost:3000 / continents并创建新条目时,它说"大陆/语言"成功创建。

然而,当我继续尝试创建新用户时,我收到错误:"语言必须存在"和#34;大陆必须存在"即使它们已被创建。

错误的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是:

1)撤消您的用户脚手架rails d scaffold User

2)然后,请务必删除任何参考

3)像这样创建脚手架:

rails g scaffold User name:string

4)创建相应的迁移(这是保持一切分开的最佳方式)。

rails g migration AddContinetIdToUsers continent_id:intenger

5)为语言做同样的事情:

rails g migration AddLanguageIdToUsers language_id:intenger

6)转到您的模型并添加相应的has_manybelogns_to关联。

7)总而言之,你没有遇到任何问题。请记住保持separete迁移的完整性和数据操作

有时您需要重新启动服务器