У меня есть модель Post, чтоУдалить вложенный атрибут рельсы
has_many photos
модель Post имеет
accepts_nested_attributes_for :photos
В моей Post форме редактирования я показать все изображения, которые в настоящее время связаны с постом
<% for photo in @post.photos %>
<%= image_tag(photo.avatar.url(:thumb)) %> <%= link_to "Remove Photo", post_photo_path(@post, photo), :method => :delete %>
<% end %>
При наведении указателя мыши на ссылку «Удалить фотографию» путь выглядит так:
http://localhost:3000/posts/17/photos/45
Я получаю неинициализированный постоянный объект PhotosController, но это ожидается, поскольку его нет.
Мой вопрос заключается в том, что я создаю один, и у меня есть действие уничтожения, которое просто удалит эту фотографию. Разве это путь к этому, или есть лучший способ?
EDIT
Фотографии Контроллер
def destroy
@photo = Photo.find(params[:id])
@photo.destroy
redirect_to edit_post_path, :notice => "Successfully deleted Photo"
end
Маршруты
resources :posts do
resources :photos
resources :departments
end
Rake Маршруты
edit_post GET /posts/:id/edit(.:format)
Благодаря
спасибо, ive добавил мой фотоконтроллер Метод уничтожения, просто ваше обычное действие уничтожения? – Richlewis
да, и не забудьте добавить его в маршруты вроде: 'resources: photos,: only => [: destroy]' – Zippie
спасибо, ive добавил мои маршруты, я все еще добавляю: only => [: уничтожить] фотографии? – Richlewis