2016-07-15 76 views
0

我有一個用戶模型,在Devise下工作時沒有問題(使用devise sanitizer來更新字段,所以沒有UsersController) 我正在創建一個Quiz模型,它屬於用戶模型和用戶模型has_one測驗。在我的路線中,我有:資源:用戶,:測驗(這應該是測驗或測驗?我知道Rails複數,但似乎無法找到它在這種情況下)。在Rails 4+中將兩個模型關聯在一起

在我看來,我試圖打開一個模式(工作),並在裏面填充了用戶可以輸入他們想要的問題(q1到q5是數據庫字段)的字段。 裏面的模式內容區域,我的代碼:

<%= form_for @quiz, url: {action: "new"} do |f| %> 
<%= f.submit "Create" %> 
<% end %> 

,我得到錯誤「的形式第一個參數不能包含零或爲空」

在我的測驗控制器,我已經定義了新的一樣

def new 
@quiz = Quiz.new 
end 

我非常感謝這裏的一些幫助!謝謝。

+0

您是否嘗試在rails控制檯上運行Quiz.new,它的輸出是什麼? – power

+0

@power <測驗ID:無,Q1:無,Q2:無,Q3:無,Q4:無,Q5:無,已創建:無,updated_at:無 – helpisgood

+0

也正在使用的模式放在應用程序內/view/quizzes/new.html.erb,或者你在new.html.erb中渲染你的模態? – power

回答

2

在你WelcomeController行動:index加入這一行初始化@quiz

def index 
    @quiz = Quiz.new 
end 

希望你做你的項目進展良好。

1

shoudn't它像下面

<%= form_for @quiz do |f| %> 
    <%= f.submit "Create" %> 
<% end %> 
+0

給出相同的錯誤。 – helpisgood