【发布时间】:2014-01-23 20:28:27
【问题描述】:
使用 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, ...
也许错误来自那里
【问题讨论】:
标签: activerecord ruby-on-rails-4 simple-form