Ruby on rails 在控制器中创建普通的旧ruby对象时出现问题

Ruby on rails 在控制器中创建普通的旧ruby对象时出现问题,ruby-on-rails,ruby,controller,Ruby On Rails,Ruby,Controller,我正在尝试建立一个梦幻足球网站,允许用户输入他们的联赛设置,并接收可用球员的推荐。我已经创建了一个普通的ruby对象“草稿”,它具有挑选最佳玩家的逻辑。我试图根据每个访问者输入的设置为他们创建一个新的草稿,但我不知道如何让控制器创建一个具有唯一设置的新ruby实例 我正在尝试为草稿对象呈现一个表单,以便在用户选择草稿设置后,草稿将开始并显示建议 我已将根设置为#new,以便可以创建新的草稿。我试图呈现表单,但控制器抛出错误:“param丢失或值为空:draft” 以下是我的控制器的外观: def

我正在尝试建立一个梦幻足球网站,允许用户输入他们的联赛设置,并接收可用球员的推荐。我已经创建了一个普通的ruby对象“草稿”,它具有挑选最佳玩家的逻辑。我试图根据每个访问者输入的设置为他们创建一个新的草稿,但我不知道如何让控制器创建一个具有唯一设置的新ruby实例

我正在尝试为草稿对象呈现一个表单,以便在用户选择草稿设置后,草稿将开始并显示建议

我已将根设置为#new,以便可以创建新的草稿。我试图呈现表单,但控制器抛出错误:“param丢失或值为空:draft”

以下是我的控制器的外观:

def new
    @draft = Draft.new(draft_params)
end

private

  def draft_params
    params.require(:draft).permit(:draft_type, :number_of_teams)
  end
参数以以下形式正确链接:

<%= form_for(@draft) do |f| %>

  <div class="form-group">
    <%= f.label :draft_type %>
    <%= f.text_field :draft_type, :class => 'form-control' %>
  </div>

  <div class="form-group">
    <%= f.label :number_of_teams %>
    <%= f.number_field , :class => 'form-control', %>
  </div>

  <%= f.submit :class => 'btn btn-info' %>

<% end %>

'窗体控件'%>
“表单控件”,%%>
“btn btn信息”%>
我怎样才能使我的新草稿正确地显示出来? 请帮我找出我做错了什么

如果您想了解更多信息,请参阅github回购协议:

您需要
draft
参数,但它不是表单中的参数(仅
draft\u type
文本字段和
number\u团队
number字段是)。为
draft
参数添加另一个表单控件,或者不需要它。(或者,我想,从会话或其他方式注入它。)

编辑:查看您的github代码

def initialize(number_of_teams, draft_type)

您的模型仅包含两个参数;为什么
。需要(:草稿)

非常感谢您的评论!我添加了require草稿,因为我只是在模仿别人在我发现的一个示例中所做的事情。我取消了要求,现在才拿到许可证。不幸的是,它现在给出了错误:“SyntaxError位于/或'['或'.”非常感谢您的回复。我将继续尝试解决这个问题。当然
form_for
方法会在参数中创建
draft
键吗?或者可能我因为没有使用ActiveRecord
模型而感到困惑有趣-我以前从未做过非ActiveRecord模型。我很想听听你是怎么做的你如何在各州之间持久化
草案
数据?