将db列设置为可选或不必需,这样我就可以创建记录

托德

我在表上有一列,在创建新记录时可能会填充也可能不会填充。我们称之为它free_shipping_amount及其类型integer,它驻留在shipping_methods表中。

我也有此ShippingMethods模型支持的表单因此,我不希望此字段显示为,0因为它不为零,只是什么都没有。

我如何才能使此列为可选列,或者不是必需列,或者使之不是零,还是一个空字符串,因为它是整数。看似nilnull将无法正常工作。

我已经尝试了以下迁移,但都无法正常工作:

change_column :shipping_methods, :free_shipping_amount, :integer, 
default: ""

change_column_null :shipping_methods, :free_shipping_amount, true

change_column :shipping_methods, :free_shipping_amount, :integer,    
:default => nil

change_column_default(:shipping_methods, :free_shipping_amount, nil)

change_column :shipping_methods, :free_shipping_amount, :integer, null: true

然后我尝试了一下,但是随后我的模型支持的表单显示了0我不想要的内容。

change_column_default(:shipping_methods, :free_shipping_amount, 0)

该表上的字段如下所示:

t.integer  "free_shipping_amount"

问题是,如果不将某些内容传递给该字段,就无法将记录保存到该表中。

我使用如下所示的强参数:

def shipping_method_params
  params.require(:shipping_method).permit(:free_shipping_amount) 
  #other values removed for brevity
end

当我这样创建时:

@shipping_shop = ShippingMethod.create(shipping_method_params)

记录未创建,并且事务被回滚。

哎呀,我在模型中有这个。

validates :free_shipping_amount, numericality: true

那么,如何在不传递该字段值的情况下保存该模型呢?还是我仍然可以验证数字?

托德

我刚刚在这里找到它是我的模型被顶起来。我必须将其添加到验证中才能接受空白值。

validates :free_shipping_amount, numericality: {allow_blank: true}

感谢大家的时间,并指出正确的方向!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据从Python程序保存到“工作区”,这样我就可以绘图而不必再次运行该程序

来自分类Dev

尝试将随机生成的密码存储为字符串,这样我就可以将其保存到文件(Java)

来自分类Dev

使用厨师创建用户,这样我就可以进入框内

来自分类Dev

工厂课程,这样我就可以改变我的其他客户

来自分类Dev

工厂课程,这样我就可以改变我的其他客户

来自分类Dev

Fabric:处理异常,这样我就可以在try块中捕获它

来自分类Dev

在rgb()中使用命名的r颜色,这样我就可以添加alpha值

来自分类Dev

正确的实例化类的方法,这样我就可以验证证书中的路径链

来自分类Dev

使ajax调用重复功能,这样我就可以再次调用它n

来自分类Dev

使用char * array存储条形图的条形,这样我就可以动态创建它并以字符串形式返回

来自分类Dev

Windows 7随机关闭。在哪里可以找到相关日志?这样我就可以识别错误

来自分类Dev

AngularJS Promises:将Promise放入Factory,这样它就可以在全球范围内访问并可以*编辑*

来自分类Dev

在Applescript的文件路径中获取所有文件夹-这样我就可以对其进行标记

来自分类Dev

通过单击链接登录到Google Apps(这样我就可以在帐户之间切换)

来自分类Dev

在Applescript的文件路径中获取所有文件夹-这样我就可以对其进行标记

来自分类Dev

使用history.js来检测是否支持HTML4,这样我就可以绕过ajax

来自分类Dev

如何从xampp安装链接到php,这样我就可以使用php命令而不是完整路径了?

来自分类Dev

在src文件夹中获取txt文件的路径,这样我就可以将其读取到数组中

来自分类Dev

当您有两个提交按钮时,将属性设置为必需/不必需

来自分类Dev

将row_id从一个活动传递到另一个活动,这样我就可以根据row_id从活动中删除行

来自分类Dev

不必要时无需重复就可以进行排列

来自分类Dev

在我的XSL文件中包含一个C#(.cs)文件,这样我就可以使用智能感知了吗?

来自分类Dev

我们如何不用引用就可以通过引用将数组传递给函数

来自分类Dev

如何在mariadb中编写基于组的中位数和模式计算函数?这样我就可以在查询本身中使用它

来自分类Dev

在一个变量中对多个观察进行分类,这样我就可以将它们归类在新的专栏中。如何使代码更短?在R中

来自分类Dev

这样就可以从任何目录调用作曲家

来自分类Dev

AI弹丸瞄准,发射火箭/子弹等。这样它就可以拦截目标

来自分类Dev

如何在Android中延迟startactivity()。这样就可以使用截击数据

来自分类Dev

是否可以将setKeepAliveInBackground方法设置为显示为可选?

Related 相关文章

  1. 1

    将数据从Python程序保存到“工作区”,这样我就可以绘图而不必再次运行该程序

  2. 2

    尝试将随机生成的密码存储为字符串,这样我就可以将其保存到文件(Java)

  3. 3

    使用厨师创建用户,这样我就可以进入框内

  4. 4

    工厂课程,这样我就可以改变我的其他客户

  5. 5

    工厂课程,这样我就可以改变我的其他客户

  6. 6

    Fabric:处理异常,这样我就可以在try块中捕获它

  7. 7

    在rgb()中使用命名的r颜色,这样我就可以添加alpha值

  8. 8

    正确的实例化类的方法,这样我就可以验证证书中的路径链

  9. 9

    使ajax调用重复功能,这样我就可以再次调用它n

  10. 10

    使用char * array存储条形图的条形,这样我就可以动态创建它并以字符串形式返回

  11. 11

    Windows 7随机关闭。在哪里可以找到相关日志?这样我就可以识别错误

  12. 12

    AngularJS Promises:将Promise放入Factory,这样它就可以在全球范围内访问并可以*编辑*

  13. 13

    在Applescript的文件路径中获取所有文件夹-这样我就可以对其进行标记

  14. 14

    通过单击链接登录到Google Apps(这样我就可以在帐户之间切换)

  15. 15

    在Applescript的文件路径中获取所有文件夹-这样我就可以对其进行标记

  16. 16

    使用history.js来检测是否支持HTML4,这样我就可以绕过ajax

  17. 17

    如何从xampp安装链接到php,这样我就可以使用php命令而不是完整路径了?

  18. 18

    在src文件夹中获取txt文件的路径,这样我就可以将其读取到数组中

  19. 19

    当您有两个提交按钮时,将属性设置为必需/不必需

  20. 20

    将row_id从一个活动传递到另一个活动,这样我就可以根据row_id从活动中删除行

  21. 21

    不必要时无需重复就可以进行排列

  22. 22

    在我的XSL文件中包含一个C#(.cs)文件,这样我就可以使用智能感知了吗?

  23. 23

    我们如何不用引用就可以通过引用将数组传递给函数

  24. 24

    如何在mariadb中编写基于组的中位数和模式计算函数?这样我就可以在查询本身中使用它

  25. 25

    在一个变量中对多个观察进行分类,这样我就可以将它们归类在新的专栏中。如何使代码更短?在R中

  26. 26

    这样就可以从任何目录调用作曲家

  27. 27

    AI弹丸瞄准,发射火箭/子弹等。这样它就可以拦截目标

  28. 28

    如何在Android中延迟startactivity()。这样就可以使用截击数据

  29. 29

    是否可以将setKeepAliveInBackground方法设置为显示为可选?

热门标签

归档