答案:感谢评论中的Deepak,我忘了添加模型级验证。这些都是使用create_table :orders do |t|
t.string :name, null: false
t.string :company
t.string :email, null: false
t.string :event_type, null: false
t.string :country, null: false
t.text :description, null: false
t.timestamps
end
我的rails应用程序决定接受PG数据库的空值,原因是我无法接收。
订单迁移文件:
private
def order_params
params.require(:order).permit(:name, :company, :email, :event_type,
:country, :description)
end
我的order_controller.rb
@order = Order.new(order_params)
if @order.save
redirect_to root_path
else
使用我的创建动作。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"longlongtoken",
"order"=>{"name"=>"", "email"=>"", "company"=>"",
"event_type"=>"", "country"=>"", "description"=>""},
"commit"=>"Create Order"}`
它将重定向到主屏幕的root_path,并将其发送到控制器。
new.html.erb
我的<div class="form-group">
<div class="control-label col-sm-2">
<%= f.label "Email*"%>
</div>
<div class="col-sm-8">
<%= f.text_field :email, class: "form-control", placeholder: "X"%>
</div>
</div>
文件中的所有操作都遵循此基本模式
{{1}}