Ich versuche zu lernen, wie Sie namespaced Routen verwenden.Rails 5, einfache Felder für mit Cocoon gem für verschachtelte Ressourcen
Ich habe ein Modell namens Vorschlag und ein anderes namens Innovation. Die Verbände sind:
Vorschlag
has_many :innovations
accepts_nested_attributes_for :innovations, reject_if: :all_blank, allow_destroy: true
Innovation
belongs_to :proposal
In meinem routes.rb, ich habe:
resources :proposals do
resources :innovations
In meinen Vorschlägen Controller, ich habe:
def new
@proposal = Proposal.new
@proposal.innovations.build
# authorize @proposal
end
def edit
@proposal.innovations_build unless @proposal.innovations
end
In meinem Vorschlagsformular versuche ich, die Formularfelder für das Innovationsmodell zu verschachteln.
<%= f.simple_fields_for [@proposal, @innovation] do |f| %>
<%= f.error_notification %>
<%= render 'innovations/innovation_fields', f: f %>
<% end %>
<%= link_to_add_association 'Add another novel aspect', f, :innovations, partial: 'innovations/innovation_fields' %>
</div>
Wenn ich das versuche, erhalte ich einen Fehler, der sagt:
undefined method `model_name' for nil:NilClass
ich den gleichen Fehler, wenn ich versuche:
<%= f.simple_fields_for [@proposal, @innovations] do |f| %>
Kann jemand sehen, was ich tun muss Um das Antragsformular zu erhalten, müssen die Felder für Innovationsformulare enthalten sein.