рельсы не могут найти метод уничтожения для дочерней формы - PullRequest
1 голос
/ 16 июля 2010

У меня есть два класса, Event и LivingGroup. LivingGroup has_many Events поэтому я сделал следующие дополнения к своему _form.html.erb для LivingGroup:

<div id='event_children'>
  <% f.fields_for :events do |event_form| %>
    <%= render :partial => 'event', :locals => { :f => event_form } %>
  <% end %>
</div>

<p>
  <%= add_child_link 'Add Event', 'event', f %>
</p>

, который включает несколько копий следующего частичного _event.html.erb:

<div class="child">
  <p>
    Event <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>
  <p>
    Event <%= f.label :image_url %><br />
    <%= f.text_field :image_url %>
  </p>
  <p>
    Event <%= f.label :description %><br />
    <%= f.text_area :description %>
  </p>
  <p>
    Event <%= f.label :start_time %><br />
    <%= f.datetime_select :start_time %>
  </p>
  <p>
    Event <%= f.label :end_time %><br />
    <%= f.datetime_select :end_time %>
  </p>
  <p>
    <%= f.hidden_field :destroy, :class => 'delete' %>
    <%= remove_child_link 'remove', f %>
  </p>
</div>

Однако я получаю следующую ошибку в рельсах:

NoMethodError in Living_groups#new

Showing app/views/living_groups/_event.html.erb where line #24 raised:

undefined method `_destroy' for #<Event:0x7f6da74b1a60>

Extracted source (around line #24):

21:   </p>
22:   <p>
23:     <%= f.hidden_field :destroy, :class => 'delete' %>
24:     <%= remove_child_link 'remove', f %>
25:   </p>
26: </div>
Trace of template inclusion: app/views/living_groups/_form.html.erb, app/views/living_groups/new.html.erb

Но destroy определяется в events_controller.rb!

  # DELETE /events/1
  # DELETE /events/1.xml
  def destroy
    @event = Event.find(params[:id])
    @event.destroy

    respond_to do |format|
      format.html { redirect_to(events_url) }
      format.xml  { head :ok }
    end
  end

РЕДАКТИРОВАТЬ: К сожалению, должен был выглядеть сложнее . Надеюсь, это кому-нибудь пригодится.

1 Ответ

0 голосов
/ 22 июля 2010

Упс, , как объясняется в этом посте SO , уничтожить для удаления на рельсах 2.3.5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...