未定义的方法“ id”,用于“”:String

时间:2019-03-19 06:21:22

标签: ruby-on-rails-3 ruby-on-rails-3.2

我正在尝试通过Rails表单保存has_one。我上课

class Org
  has_one :org_name
  has_one :org_type, through: :org_name
end

这是我保存org

的表单字段
= f.select 'org_type', OrgType.order('name').collect { |t| [t.name, t.id] }, { include_blank: true }, class: 'data_field'

当我在未选择org_type的情况下保存记录时,会抛出错误

NoMethodError - undefined method `id' for "":String:
(gem) activerecord-3.1.12/lib/active_record/associations/through_association.rb:47:in `block in construct_join_attributes'
下方的

表示初始化期间。我的org模型已经具有此验证validates_associated :org_type

@org = Org.new(params[:org])

我正在使用滑轨3.1.12。如何验证has_one关系并引发自定义错误消息。

0 个答案:

没有答案