使用Simple_form的AssociationTypeMismatch与Rails表单

时间:2014-01-02 21:31:40

标签: ruby-on-rails simple-form

大家好:我正在尝试解决表单问题。

我有一个产品型号,每个产品都有一个品牌。

我正在使用simple_form来创建/更新我的产品。在我的原始版本中,我使用

= simple_form_for [:admin, product] do |form|
...
= form.association :brand
...

现在我添加一个带有ajax数据加载的jquery select,并将输入更改为:

= form.input_field :brand, input_html: { class: 'form-control select2' }

当我保存表单时出现错误:

ActiveRecord::AssociationTypeMismatch in Admin::ProductsController#create
Brand(#70355202593700) expected, got String(#70355134114860)

在我的帖子中,“品牌”现在是一个等同于我与产品相关联的品牌ID的字符串,我不知道如何修复该关联。

任何提示?

1 个答案:

答案 0 :(得分:0)

对于你的input_field,它可能需要是:brand_id,因为它不再被构建为关联(仅适用于.association方法)。

如果您使用的是Rails 3,请确保:brand_id已添加到模型的attr_accessible表达式中。