Доступ к объекту во вложенной форме

у меня есть следующая вложенная форма:

<%= form_for @contrat,:url => backend_orders_update_report_url(@contrat) do |f| %>
<%= f.fields_for :contrat_lines do |fcl| %>
    <%=  fcl.object.inspect  %>
  <% end %>
<% end %>

вывод следующий:

nil 

Во вложенных формах я хочу отображать несколько элементов не как форму, а как необработанный текст и несколько как поле формы. Обычно в форме, выполняя f.object.name, я получаю доступ к имени и могу отображать его так, как хочу. Однако здесь, если я сделаю fcl.object, будет только ноль. Он должен отображать проверку объекта contrat_line.

Можно ли получить доступ к данным во вложенной форме?

РЕДАКТИРОВАТЬ :

действие контроллера:

def show_report
  @contrat = Contrat.find(params[:id])
end

Вот как выглядят модели с отношением в начале:

Контрастная линия:

class ContratLine < ActiveRecord::Base
  include Priceable

  belongs_to :contrat
  belongs_to :good
  #a enlever ici et dans la base
  attr_accessible :active_start,:active,:good_id,:pricing,:contrat
  validates :active_start, :presence=> true,:if => "active"
  validate :active_start_smaller_than_active_stop
  validate :active_start_day_cannot_be_greater_than_28
  has_one :pricing, :as => :priceable, :dependent => :delete
  before_validation :convert_month_year_to_date
  after_save :set_user_subscription_date

Контракт:

class Contrat < ActiveRecord::Base

  has_many :contrat_lines, :dependent => :delete_all

  belongs_to :user
  attr_accessible :user_id,:pricing_id,:state,:adresse_id,:adresse,:payment,:adresse_attributes,:automatic,:start_date,:end_date
  enum_attr :state, %w(basket waiting_data to_confirm paid) do
    labels :basket=>'Panier',  :to_confirm=>'Non payé',:paid=>'Payé'
  end
  enum_attr :payment, %w(debit_card wire_transfer cheque direct_debit)
  belongs_to :adresse
  accepts_nested_attributes_for :adresse, :allow_destroy => true
  scope :by_state,  lambda { |state| where("state = ?",state) }
  scope :last_automatic, where("automatic = true").order("invoice_date DESC")
  scope :last_with_adresse, where("state != 'basket'").order("invoice_date DESC")

  before_validation :set_numbers

person Syl    schedule 10.02.2013    source источник
comment
Как выглядят ваши модели? Не могли бы вы также опубликовать код модели?   -  person Kleber S.    schedule 10.02.2013


Ответы (1)


Вам не хватает accepts_nested_attributes_for :contrat_lines, а также :contrat_lines_attributes в attr_accessible

person Andy Henson    schedule 10.02.2013