我正在使用ruby on rails docs作为指导,但我的第一张表格却被卡住了。而不是“文章”资源,我正在使用一个名为“面包”的资源。但是,当我在breads / new上提交表单时,我收到错误:
在BreadsController中创建的ActionController :: ParameterMissing #create param丢失或值为空:bread应用/视图/面包/ new.html.erb:
<h1>New Breads!</h1>
<%= form_for :bread, url: breads_path do |f| %>
<p>
<%= f.label :type %><br>
<%= f.text_field :type %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
应用/控制器/ breads_controller.rb:
class BreadsController < ApplicationController
def new
end
def create
@bread = Bread.new(bread_params)
@bread.save
redirect_to @bread
end
private
def bread_params
params.require(:bread).permit(:type)
end
end
答案 0 :(得分:0)
您需要更改代码,请参阅下文
在new
操作中初始化Bread
类的对象并在new.html.erb
中使用该对象,convention over configuration
rails将自动为表单分配创建操作的网址
查看强>
<h1>New Breads!</h1>
<%= form_for @bread do |f| %>
<p>
<%= f.label :type %><br>
<%= f.text_field :type %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<强>控制器强>
class BreadsController < ApplicationController
def new
@bread = Bread.new
end
def create
@bread = Bread.new(bread_params)
@bread.save
redirect_to @bread
end
private
def bread_params
params.require(:bread).permit(:type)
end
end
希望有所帮助!