尽管设置了“:name,null:false”,但Rails PG表单值仍被发送为null

时间:2017-03-31 11:35:47

标签: html ruby-on-rails ruby forms postgresql

答案:感谢评论中的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}}

0 个答案:

没有答案