рельсы - Создание Удалить ссылку, которая работает? - PullRequest
2 голосов
/ 01 ноября 2010

У меня есть следующие две модели:

class PhotoAlbum < ActiveRecord::Base
    belongs_to :project
    has_many :photos, :dependent => :destroy

class Photo < ActiveRecord::Base
    belongs_to :photo_album

Когда пользователь находится на странице PhotoAlbum def SHOW, я хочу, чтобы была ссылка для удаления, поэтому я создал следующее:

<%= link_to "Delete", project_photo_album_path(@photoalbum.id), :confirm => "Are you sure?", :method=>:delete %>

Что делает следующее:

<a href="/projects/41/photo_albums/41" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Delete</a>

Но это не работает ... В журналах Rails пытается удалить photo.ids с "41" идеей альбома, когда я думаю, что этоследует удалить, photo.album_id = 41, затем альбом.

Что вы думаете?

1 Ответ

1 голос
/ 01 ноября 2010

Похоже, вы используете вложенные маршруты.Вы должны указать путь с чем-то вроде:

project_photo_album_path(:project => @photoalbum.project, :photo_album => @photoalbum).Когда вы указываете вложенный маршрут, такой как /projects/:project_id/photo_albums/:photo_album_id, rails нужны оба идентификатора, поскольку вы передали только одно целое число в метод пути, кажется, что оно пытается использовать это целое число в качестве обоих идентификаторов.

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