我遇到过类似的情况,即我的“活动”包含一个任务,其中一个任务具有一个任务,而构建任务也将构建该任务,例如:
def new
@activity = Activity.new
@activity.task = @activity.build_task
end
Run Code Online (Sandbox Code Playgroud)
现在我有包含许多TermTranslations的术语,其中包含许多具有可附加的附件(图像或音频),但是@term = Term.new(permitted_params[:term])admin / term.rb的第18行却出现此错误:
无法建立关联“ attachable”。您是否要建立多态的一对一关联。
管理员/term.rb
ActiveAdmin.register Term do
permit_params :id, :display_name, :slug,
term_translations_attributes: [:id, :slug, :title, :definition, :example, :language_id, :term_id, :_destroy,
attachments_attributes: [:id, :name, :attachable_type, :attachable_id, :_destroy,
attachable_attributes: [:id, :image_file, :audio_file, :_destroy]]]
form partial: 'form'
controller do
def new
@term = Term.new
@term.term_translations.build.attachments.build
end
def create
@term = Term.new(permitted_params[:term])
@term.term_translations.each do |tt|
tt.attachments.each do |a|
a.attachable = create_attachable(permitted_params[:term][:term_translations_attributes])
end
end
if @term.save
redirect_to admin_term_path(@term)
else …Run Code Online (Sandbox Code Playgroud)