嵌套表单字段未显示多态关联

时间:2016-07-06 11:43:16

标签: ruby-on-rails simple-form nested-forms nested-attributes polymorphic-associations

嗨我与polymorphic模型有Document关联,用于存储文档上传。我正在尝试通过关联模型将文档属性作为嵌套属性提交。

但是,当我加载表单时,嵌套字段不会显示。我错过了什么?

架构:

  create_table "documents", force: :cascade do |t|
    t.json     "links"
    t.integer  "linkable_id"
    t.string   "linkable_type"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "documents", ["linkable_type", "linkable_id"], name: "index_documents_on_linkable_type_and_linkable_id", using: :btree

型号:

class Document < ActiveRecord::Base
  belongs_to :linkable, polymorphic: true
  belongs_to :user
  belongs_to :company

  mount_uploaders :links, DocUploader
end



class CustomerPlan < ActiveRecord::Base
  has_many :documents, as: :linkable
  accepts_nested_attributes_for :documents
end

控制器:

class CustomerPlanController < ApplicationController

  def new
    @customer_plan = current_company.customer_plans.build
  end

  def create
    @customer_plan = current_company.customer_plans.build(customer_plan_params)

    if @customer_plan.save
      redirect_to @customer_plan, notice: 'Customer plan was successfully created.'
    else
      render :new
    end
  end

  private
    def cusomter_plan_params
      params.require(:cusomter_plan_params).permit(:date, :name, :plan_type, 
        documents_attributes: [:id, links: []])
    end
end

形式:

<%= simple_nested_form_for @stock_plan, :html => { :multipart => true } do |f| %>
  <%= f.error_notification %>

    <%= f.input :date %>
    <%= f.input :name %>
    <%= f.input :plan_type %>

    <%= f.simple_fields_for :documents do |d| %>
      <p><b>Upload here:</b></p>
      <%= d.file_field :links, multiple: true %>
      <br>
    <% end %>
    <%= f.button :submit%>
<% end %>

0 个答案:

没有答案