Rails 4 simple_form owns_to 关联未定义方法错误

2024-03-11

使用 Rails 4,当我想从对象 Document::Document 渲染表单(使用 simple_form)时,出现以下错误:undefined method document_type_id for #<Document::Document:0x007fada4a50240>

这是我的模型的一部分:

class Document::Document < ActiveRecord::Base
   ...
   belongs_to :document_type, -> {include(:translations)}, :class_name => 'Document::Type'
   ...
end

我的控制器的新方法:

def new
   @document = Document::Document.new
end

以及带有 simple_form 的表单的一部分:

=f.association :document_type, prompt: t('document.documents.form.choose_document_type'), collection: Document::Type.includes(:translations)

错误:

undefined method `document_type_id' for #<Document::Document:0x007fada4a50240>
Extracted source (around line #14):

   11    .row
   12      =f.input :language, collection: languages_list, prompt: t("document.documents.form.choose_language"), label_html: tooltip(t('document.documents.forms.tooltips.language')), wrapper_html: {class: 'columns large-4'}, input_html: {class: 's2'}
   13      =f.input :study_level, prompt: t('document.documents.form.choose_study_level'), label_html: tooltip(t('document.documents.forms.tooltips.study_level')), wrapper_html: {class: 'columns large-4'}, input_html: {class: 's2'}
   14      =f.association :document_type, prompt: t('document.documents.form.choose_document_type'), collection: Document::Type.includes(:translations), label_html: tooltip(t('document.documents.forms.tooltips.type')), wrapper_html: {class: 'columns large-4'}, input_html: {class: 's2'}
   15      -#=f.association :domains, collection: Domain.includes(:translations).order('name ASC'), label_html: tooltip(t('document.documents.forms.tooltips.domains')), input_html: {class: 's2'}
   16    .form-actions
   17       =f.button :submit, t('document.documents.form.submit') 

为什么会出现这个错误?

我从 Rails 3.2 升级。在一切正常之前。

在 Rails 3.2 中我添加了:

attr_accessible :document_type_id, ...

也许错误来自那里


抱歉给您带来不便。

这是一个移民问题。其他人更改了迁移文件和字段document_type_id数据库表中不再存在。

我花了一段时间才发现这个愚蠢的问题。

感谢您的回复并表示歉意

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 4 simple_form owns_to 关联未定义方法错误 的相关文章

随机推荐