【发布时间】:2016-07-15 06:05:59
【问题描述】:
我有一个在 Devise 下正常工作的 User 模型(使用 devise sanitizer 更新字段,所以没有 UsersController) 我正在创建一个 Quiz 模型,它属于 User 模型,而 User 模型 has_one Quiz。在我的路线中,我有:resources :users, :quizzes(这应该是 quizzes 还是 quizs?我知道 Rails 是复数形式,但在这种情况下似乎找不到它的含义)。
在我看来,我正在尝试打开一个模式(有效)并在其中填充用户可以在他们想要的问题中输入的字段(q1 到 q5 是数据库字段)。 在模态内容区域内,我有代码:
<%= form_for @quiz, url: {action: "new"} do |f| %>
<%= f.submit "Create" %>
<% end %>
我收到错误“表单中的第一个参数不能包含 nil 或为空”
在我的测验控制器中,我将 new 定义为
def new
@quiz = Quiz.new
end
我将非常感谢您的帮助!谢谢。
【问题讨论】:
-
你试过在 Rails 控制台上运行 Quiz.new 吗?它的输出是什么?
-
@power
-
您正在使用的模态也被放置在 app/view/quizzes/new.html.erb 中,或者您在 new.html.erb 中呈现您的模态?
-
@power 在视图下,我有一个名为“Welcome”的文件夹,里面是landing.html.erb,我有我的所有代码(除了HTML之外的东西是当前用户数据的一些列表)
-
然后在索引中定义它
@quiz = Quiz.new
标签: ruby-on-rails ruby devise associations models