【发布时间】:2011-12-19 21:27:26
【问题描述】:
更新:我是个笨蛋。分发类是子类,这些类正在验证状态字段。
如果在这一点上不明显我是一个完整的 n00b 到 rails,它甚至可能不值得说。 我正在尝试从我创建的表单中对数据库中的表进行一些更改。问题是当我点击提交按钮时,我得到了这个:
Validation failed: Status is not included in the list
我不明白的是(除了整个错误消息 - 什么列表?)我的模型中没有验证状态:
validates_presence_of :resume
validates_presence_of :matching_profile
validates_uniqueness_of :matching_profile_id, :scope => :owner_id
validates_numericality_of :price, :greater_than => 0, :allow_blank => true
我看不到任何关于状态的信息。
更新:
我的模型中的所有关联:
belongs_to :matching_profile, :counter_cache => true 属于_to :resume
更新:
问题似乎实际上出在我的控制器上:
def update_multiple
@distributions = Distribution.find(params[:distribution_ids])
@distributions.each do |distribution|
distribution.update_attributes!(params[:distro].reject { |k,v| v.blank? }) #raising an exception
end
flash[:notice] = "Updated Distribution Workflow"
redirect_to admin_distributions_workflows_path
end
【问题讨论】:
-
你在模型中定义了
attr_accessible吗? -
如果您 1/ 已定义 attr_accessible,并且 2/ 未在可访问属性中包含 :status 并且 3/ 在代码中的某处进行批量分配,那么您将收到此错误跨度>
-
我明白了。好吧,没有其他的 attr_accessible,我计划进行大规模分配 - 但我现在只做一项分配(两行中的一个字段)。我还在模型中添加了
attr_accessible :status,只是为了好玩,但没有运气。
标签: ruby-on-rails ruby-on-rails-3 forms validation model