2016-07-27 70 views
1

我試圖做一個簡單的表單,您可以輸入用戶,他們的大陸和語言。「字段必須存在」錯誤簡單表格應用程序

用戶belongs_to大陸和語言,和 大陸和語言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 /語言和本地主機:3000 /大陸和創建它說新條目「洲/語言」創建成功。

但是,當我繼續嘗試創建一個新用戶時,即使它們已經創建,我也會收到錯誤:「語言必須存在」和「必須存在」。

錯誤的原因是什麼?如何解決?

回答

1

我認爲最好的方法是這樣的:

1)撤消您的用戶腳手架rails d scaffold User

2)然後,請確保在刪除任何參考

3)創建這樣的支架:

rails g scaffold User name:string 

4)創建corrsponding遷移(這是真正的最好的方法,以保持一切分開)。

rails g migration AddContinetIdToUsers continent_id:intenger 

5)執行相同的languague:

rails g migration AddLanguageIdToUsers language_id:intenger 

6)進入你的模型,並添加相應的has_manybelogns_to協會。

7)這一切,你不會有任何問題。記住保持完整性和數據處理separete遷移

有時你需要重新啓動服務器

+0

您提出的一條線( $軌摹支架用戶名:字符串)結果在那裏不是字段中輸入「語言「和」大陸「。 –

+0

你只是在模型中加入了relathionship。 您需要設置視圖中的字段。你使用支架產生的事實並不意味着會產生所有的邏輯。 你需要打電話給你的意見,領域,以設置languague和大陸。 選中此:http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html 我認爲這是爲什麼@ azeez3j問你的意見和控制器的重複。你需要實現所有的邏輯。 此致 –

相關問題