0

我有一个嵌套在另一个表单(客户)中的表单(地址)。我正在我的应用程序中创建客户,当我单击创建时,它会在数据库中创建客户,但是当它路由到显示页面时,我收到此错误。

首先是错误

NoMethodError in Admin/customers#show

Showing /usr/local/rvm/gems/ruby-1.9.3-p392/bundler/gems/active_admin-fa7e4de2d5fa/app/views/active_admin/resource/show.html.arb where line #1 raised:

undefined method `address' for #<Customer:0x007ffb5619f420>
Extracted source (around line #1):

1: insert_tag renderer_for(:show)
Rails.root: /Users/danielhatcher/rails/printonrails

Application Trace | Framework Trace | Full Trace
app/admin/customers.rb:29:in `block (2 levels) in <top (required)>'
Request

Parameters:

{"id"=>"11"}

这是我的控制器

ActiveAdmin.register Customer do
    # Menu item
  menu :label => "Customers", :parent => "Administration"

  filter :name, label: "by Name"
  filter :company, label: "by Company"
  filter :email, label: "by Email"
  filter :phone, label: "by Phone Number"

  index do
    column :name
    column :company
    column :email
    column :phone
  end

    form :partial => "form"

  show :title => :name do

    panel "Customer Details" do
          attributes_table_for resource do
            row :name
            row :company
            row :email
            row :phone
          end
      end
      text_node(render :partial => "admin/addresses/form", :locals => { :address => resource.address })
    end
end

这是我的表格

<%=
form.has_many :addresses do |address| 
address.inputs "Address" do 

    address.inputs :class => "" do 
      address.input :street 
      address.input :city 
      address.input :state
      address.input :zip
    end 
  end 
end 
%>

客户模型

class Customer < ActiveRecord::Base
    attr_accessible :name, :email, :phone, :addresses_attributes, :company
  has_many :addresses
  accepts_nested_attributes_for :addresses, :allow_destroy => true
end

地址模型

class Address < ActiveRecord::Base
    attr_accessible :street, :city, :state, :zip, :customer_id
  belongs_to :customer
end

我不确定为什么文本节点会触发此错误,任何帮助将不胜感激。

4

0 回答 0