【发布时间】:2014-10-15 21:57:13
【问题描述】:
我第一次尝试提交表单时收到错误提示
“价格不是有效数字”
我第二次尝试提交它没问题(在 :price 字段中使用相同的有效数据)。 如果我不在模型中添加验证,则提交表单,但不保存价格值。
会发生什么? .decimal 字段有什么特别之处吗?
数据库架构:
t.decimal "price"
型号
validates :price, numericality: { :greater_than => 0, :less_than_or_equal_to => 100000000 }
表单视图文件
<%= f.number_field :price, class: "short red" %>
控制器
def new
@product = Product.new
end
def create
@product = Product.new(product_params)
if @product.save
redirect_to @product
else
render :new
end
end
private
def product_params
params.require(:product).permit(:name, :description, :image, :price, :user_id)
end
日志
于 2014 年 10 月 15 日 22:56:51 +0000 开始为 xxx.132 发布“/products”
ProductsController 处理#create as HTML
参数:{"utf8"=>"✓", "authenticity_token"=>"abte/LtO0T/ZtSXQIuXVVjjUvwHw5jDUJ1yIKCOWRx2=", "产品"=>{"名称"=>"", "描述"=>"", "user_id" =>“1”},“提交”=>“提交”}
【问题讨论】:
-
发送到控制器的具体内容是什么?
-
我已经更新了帖子。嗯,查看日志,似乎有类似的问题:图像(字符串),第一次没有保存(图像模型中没有验证 - 就像价格一样)。您认为问题可能是什么?
-
表单是什么样的?没有任何东西被发送,所以当然没有任何东西被保存。