/ / Modele zagnieżdżone - ruby-rails, ruby-rails-3

Modele zagnieżdżone - ruby-on-rail, ruby-on-rails-3

Próbuję skonfigurować prosty model zagnieżdżony, ale pojawia się błąd podczas próby wyświetlenia formularza za pomocą działania "nowego". Oto moja konfiguracja:

class Account < ActiveRecord::Base
has_many :people
has_many :organizations

accepts_nested_attributes_for :organizations
end

class Organization < ActiveRecord::Base
belongs_to :account

has_many :locations

accepts_nested_attributes_for :people
accepts_nested_attributes_for :addresses
end

class AccountsController < ApplicationController

def new
@account = Account.new
@account.organizations.build
end

def create
@account = Account.new(params[:account])
if @account.save
#handle success
else
render "new"
end
end

end

<%= form_for(@account) do |f| %>

<%= f.label :type %><br />
<%= f.text_field :type %><br />

<%= f.fields_for :organization do |organization_fields| %>
<%= organization_fields.label :name %><br />
<%= organization_fields.text_field :name %><br />
<%= organization_fields.label :website %><br />
<%= organization_fields.text_field :website %><br />
<% end %>

<%= f.submit "Add account" %>
<% end %>

Przy próbie uruchomienia "nowej" akcji na / accounts / new pojawia się następujący błąd:

niezainicjowana stała konto :: Organizacja

Śledzenie aplikacji: app / controllers / accounts_controller.rb: 5: in "new"

Każda pomoc zostanie bardzo doceniona.

Odpowiedzi:

0 dla odpowiedzi № 1

Wydaje się, że jest to problem z nieparzystym ładowaniem. Czy robisz coś sprytnego z config.load_paths czy cokolwiek w tym stylu?

Aby sprawdzić, czy to działa, spróbuj require File.join(Rails.root, "app/models/organization.rb") u góry konta.rb. To nie jest rozwiązanie, które chcesz zachować, ale jeśli działa z tą linią, wtedy będziesz wiedział, że problem dotyczy ładowarki.