Помогите с рельсами - PullRequest
       7

Помогите с рельсами

0 голосов
/ 15 марта 2011

Я застрял -

Я создаю приложение учета в рельсах, и у меня есть модель, в которой у клиента будет несколько счетов-фактур, а также несколько платежей (связанных с этими счетами)

Вот краткий обзор упрощенной модели:

class Customer < ActiveRecord::Base
  has_many :customer_payments
  has_many :invoices  
  accepts_nested_attributes_for :customer_payments, :allow_destroy => true
end

class CustomerPayment < ActiveRecord::Base
  has_many :customer_payment_items
  belongs_to :customer
  belongs_to :invoice
  accepts_nested_attributes_for :customer_payment_items
end

class CustomerPaymentItem < ActiveRecord::Base
  belongs_to :invoice, :inverse_of => :customer_payment_items
  belongs_to :customer_payment
end

 class Invoice < ActiveRecord::Base
  has_many :invoice_lines, :dependent => :destroy   
  has_many :customer_payment_items, :inverse_of => :invoice
  belongs_to :customer
  accepts_nested_attributes_for :invoice_lines, :allow_destroy => true
end

У меня есть вложенная форма, в которой я хочу показать атрибуты Customer, CustomerPayment и CustomerPaymentItem - все работает нормально.

Я также хочу показать атрибуты Invoice для каждого CustomerPaymentItem (каждый CustomerPaymentItem относится к одному счету), и хотя я могу получить форму для отображения информации CustomerPaymentItem, я не могу получить ее для отображения информации Invoice, которая необходима для дайте ссылку на пользователя. - У меня проблемы с получением данных из ассоциации принадлежащих к для отображения в форме.

Я в растерянности. Разве я не могу пройти через ассоциацию принадлежащих к? К вашему сведению - я могу отправить данные в журнал, где я знаю, что данные счета-фактуры заполняются во время вызова CustomerPayment.new, кажется, что он просто теряется между контроллером и формой.

Как мне получить доступ к этим данным? Вот информация о форме - (из нескольких визуализированных форм) материал, который не отображается, находится между ---.

<p>
  <%= f.label :amount %><br />
  <%= f.text_field :amount %>
</p>
<p>
  <%= f.label :invoice_id %><br />
  <%= f.text_field :invoice_id %>
</p>

<p>
  <% f.fields_for :invoice do |builder| %>
    --- doesn't show
    Invoice Detail
    <p>
      <%= builder.label :number %><br />
      <%= builder.text_field :number %>
    </p>  
    <p>   
      <%= builder.label :sub_total %><br />
      <%= builder.text_field :sub_total %>
    </p>
    --- doesn't show

  <% end %>
</p>

Я что-то упускаю в своих полях, чтобы показать справочные данные счета-фактуры? Не слишком ли сложна моя модель для рельсов?

1 Ответ

0 голосов
/ 15 марта 2011

@ коррозия была права - проблема была в том, что у меня не было знака = 1001 *

<% f.fields_for :invoice do |builder| %>

Я думаю, что каждый должен выучить этот урок

...