ArgumentError:您需要提供至少一个validation:if
我有一个简单的模型
class Task :deadline_in_future? def deadline_in_future? Date.today < self.deadline end end
一切似乎都好,但是当我在我的rails控制台时
irb(main):001:0> Task.new ArgumentError: You need to supply at least one validation
问题出在哪儿?
您忘记告诉validates
您要如何validation:deadline
。 我觉得你误解了:if
:if => :deadline_in_future?
选项意味着:
validation
:deadline
仅在deadline_in_future?
method返回true值。
我怀疑你想确认截止日期是在未来:
validate :deadline_in_future?
“ Active Record Validations and Callbacks Guide”中提供了更多详细信息。
您必须更改validates
才能validate
。
它表示您没有将任何validation传递给validates
方法。 像validates :presence
一样validates :presence
,例如。 你想validation什么?
- 我的dropkick插件的下拉看起来很奇怪
- 使用ActiveRecord查询进行百分比计算的难度
- 什么“temps.each(&:valid?)”在Ruby中意味着什么?
- Mountain Lion上的pg gem’0.14.0’失败了
- Heroku推送错误:rake资产上的“NameError:未初始化的常量Uglifier :: VERSION”:预编译
- 无效的路由名称,已在使用中:’admin_root’(ArgumentError) – ActiveAdmin安装失败
- 如何在Rails中建立相互友谊的模型
- Rails 5 – ExecJS :: RuntimeError
- Ruby spreadshet gem,我如何居中对齐数字