0

我的视图没有将参数哈希传递给控制器​​时遇到了一些问题。我在视图中定义了一个表单,它将向数据库添加一个新项目,但我收到了错误:

ActionController::ParameterMissing:
  param not found: item

这是我的表单助手的代码文件和处理该操作的控制器。

新的.hmtl.erb

<%= form_for(@item) do |f| %>
  <%= f.label :name %>
  <%= f.text_field :name %>

  <%= f.label :description %>
  <%= f.text_field :description %>

  <%= f.submit "Add", class:"btn btn-large btn-primary %>
<% end %>

items_controller.rb

class ItemsController < ApplicationController
  def new
    @item = Item.create(set_params)
  end

  private
    def set_params
      params.require(:item).permit(:name, :description)
    end
  end
end

我认为,我还没有看到关于如何从我看到的其他问题中解决这个问题的可靠答案。

4

1 回答 1

3

您的new操作是呈现表单以创建新项目的操作。呈现此操作时,您的参数为空白。

您的create操作是处理表单的操作,您的参数将在其中填充。

于 2013-08-05T06:13:51.417 回答