感谢您的阅读,新的rails,但试图构建一个表单来传递参数。但是,在将参数输入表单后,create页面中的验证没有看到它,并给出了一个错误。但日志显示输入了参数..。我也在使用simple_form宝石。
主计长:
类FoundsController < ApplicationController
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 %>错误: param丢失或值为空: 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"}发布于 2014-12-10 06:15:07
除了强参数外,一切看起来都很好。
应该是params.require(:found).permit(:floc, :ftitle, :fdescription, :fcontact)
您正在告诉Rails,进来的params必须有:found键,嵌套在这个键下面是您真正关心的params。在这些参数中,只有允许的参数才能通过。不允许的参数不会通过,但不会抛出错误。
https://stackoverflow.com/questions/27394280
复制相似问题