我遇到了一些与我的视图没有传递params散列到控制器的问题。我有一个视图定义的形式,将新的项目添加到数据库中,我得到的错误:Ruby on Rails 4 - 表单助手未将params散列传递给控制器
ActionController::ParameterMissing:
param not found: item
这里是我有问题的形式助手和我的控制器处理action代码文件。
new.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
我还没有看到关于如何从我的其他问题,解决这个问题了坚实的答案我认为,已经见过。
您需要添加一个创建操作,它具有'def create @item = Item.create(set_params)end让新操作变成新的@item = Item.new end –