중첩 된 리소스를 찾을 수 없습니다 : 갤러리 ->를 많은 앨범이 -> 많은 사진 레일 : 나는 3 층 중첩 모델이 ID
을 가지고 내가 http://localhost:3000/galleries/1/albums/new 여기에서 새 앨범을 추가하려고 할 때 나는는 "AlbumsController 번호의 액티브 :: RecordNotFound가 만든 'ID'=으로 갤러리를 찾을 수 없습니다 수 없습니다"
을 얻고있다
앨범 모드 L :
class Album < ApplicationRecord
belongs_to :gallery
has_many :photos
accepts_nested_attributes_for :photos
갤러리 모델
class Gallery < ApplicationRecord
has_many :albums
accepts_nested_attributes_for :albums
end
경로 위해
....
resources :galleries do
resources :albums
end
resources :photos, only: [:index, :new, :create, :destroy]
resources :photos, only: [:index]
resources :albums do
resources :photos, :controller => "albums"
end
내가 갤러리를위한 표시 페이지 내에서 다음과 같이 호출, 앨범을 만들기 위해 페이지로 이동합니다 < % = link_to '새 앨범', new_gallery_album_path (@ galleries.id) %> 이것은 쓸개의 ID 1이있는 올바른 페이지로 연결됩니다 gallery_id는 내가 컨트롤러의 나머지 부분을 붙여 넣을 수 전무
def new
@gallery = Gallery.find(params[:gallery_id])
@album = Album.new
@photos = @album.photos.build
end
def create
@gallery = Gallery.find(params[:gallery_id])
@album = Album.new(album_params)
respond_to do |format|
...
로 hanlded 이유 링크
에서하지만 컨트롤러 ERY, 나는 정말 이해가 안 돼요 하지만 이제는 오류가 생성 함수의 라인을 가리키고 있습니다. @gallery = Gallery.find (params [: gallery_id]) 왜이 작업은 NEW에서 가능합니까?