Ruby on rails Rails表单创建未看到传递给它的参数

Ruby on rails Rails表单创建未看到传递给它的参数,ruby-on-rails,ruby,forms,parameters,Ruby On Rails,Ruby,Forms,Parameters,感谢阅读,这是rails的新手,但正在尝试构建一个表单来传递参数。但是,在表单中输入参数后,create页面中的验证没有看到它,并且给了我一个错误。但是日志显示参数是输入的。。。我也在使用简单的宝石 控制器: 类FoundsController

感谢阅读,这是rails的新手,但正在尝试构建一个表单来传递参数。但是,在表单中输入参数后,create页面中的验证没有看到它,并且给了我一个错误。但是日志显示参数是输入的。。。我也在使用简单的宝石

控制器:

类FoundsController
  def index
    @found = Found.all
  end

  def new
    @found = Found.new
  end

  def create
    @found = Found.new(found_params)
    if @found.save
        redirect_to "/founds#index"
    else
        render "new"
    end
  end
end

 def found_params
    params.require(:floc).permit(:ftitle, :fdescription, :fcontact)
end
新表格页:

<h1>Founds#new</h1>
<p>Find me in app/views/founds/new.html.erb</p>

<%= simple_form_for @found do |form| %>
  <%= form.input :floc, label: "floc" %>
  <%= form.input :fcontact, label: "fcontact" %>
  <%= form.input :fdescription, label: "fdescription" %>
  <%= form.input :ftitle, label: "ftitle" %>
  <%= form.button :submit %>
<% end %>

除了强大的参数外,一切看起来都很好

它应该是
参数require(:found).permit(:floc,:ftitle,:fddescription,:fcontact)


您告诉Rails,传入的参数必须具有
:found
键,嵌套在该键下的是您真正关心的参数。在这些参数中,只有被允许的参数才能通过。不允许的参数将无法通过,但不会抛出错误。

完美!谢谢,这是有效的,我缺少了关键,我的假设是.require(floc)意味着没有floc参数我无法传递表单。。。没有包含或定义强参数块也给了我同样的错误。
def found_params
    params.require(:floc).permit(:ftitle, :fdescription, :fcontact)
end


Request

Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"bJ1bUhd3G8z4S1QV+XsEAHmOcdSQyQxVS0rOSAsq6YANvz9ED7lFTME6falij4nrXkWEypWsSnPW7k9YHFGhDQ==",
 "found"=>{"floc"=>"location",
 "fcontact"=>"contact",
 "fdescription"=>"descript",
 "ftitle"=>"title"},
 "commit"=>"Create Found"}