小编Lan*_*nce的帖子

无法建立嵌套的多态关联。您是否要建立多态的一对一关联

我遇到过类似的情况,即我的“活动”包含一个任务,其中一个任务具有一个任务,而构建任务也将构建该任务,例如:

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)

ruby-on-rails activeadmin

0
推荐指数
1
解决办法
584
查看次数

标签 统计

activeadmin ×1

ruby-on-rails ×1