안녕하세요. 현재 중첩 된 리소스로 작업하고 있습니다.레일즈 : 정의되지 않은 메소드`photos_path '?
루트
Pholder::Application.routes.draw do
resources :users do
resources :albums do
resources :photos
end
end
end
내가 3 모델 (사용자, 앨범, 사진)가 있습니다. 나는 사용자를 등록하고 앨범을 만들 수 있었지만 사진에 대한 양식을 만들려고 애 쓰고 있습니다. 당신이 볼 수있는 페이지의 하단에 거기에 새로운 사진에 대한 경로, 그리고
앨범/쇼
<% if @album.photos.any? %>
yes pics
<% else %>
no pics
<% end %>
<%= link_to "Upload new pics!", new_user_album_photo_path(@user, @album) %>
: 앨범의 생성에, 사용자는 앨범/쇼 페이지로 리디렉션됩니다 문제가있는 곳입니다. # < #에 대한
undefined method
photos_path ': I이 링크를 클릭하면, 그것은 나에게 오류를 제공 0x007fb69e167220>`
오류가 해당 페이지의 라인 # 3에서 발생합니다 (사진/신규)
<% provide(:title, "Upload pictures") %>
<%= form_for(@photo, :html => { :multipart => true }) do |f| %>
<%= f.file_field :photo %>
<% end %>
내가 컨트롤러 (난 아직도 컨트롤러에 어떤 내용이 매우 불안정 해요.)에 잘못된 정보를 가하고있어 의심의 새로운
사진 /? 여기 내 사진 컨트롤러가 있습니다.
class PhotosController < ApplicationController
def new
@user = User.find(params[:user_id])
@album = @user.albums.find(params[:album_id])
@photo = @album.photos.build
end
def create
@album = Album.find(params[:album_id])
@photo = @album.photos.build(params[:photo])
respond_to do |format|
if @album.save
format.html { redirect_to @album, notice: 'Album was successfully created.' }
format.json { render json: @album, status: :created, location: @album}
else
format.html { render action: "new" }
format.json { render json: @album.errors, status: :unprocessable_entity }
end
end
end
def show
@album = Album.find(params[:album_id])
@photos = @album.photos
end
end
은 내 양식이 잘못된
사진 컨트롤러? 컨트롤러에 넣을 내용과 폼이나 컨트롤러에서 오류가 발생하는지 여부는 혼란 스럽습니다. 감사합니다.
더 자세한 정보가 필요하면 알려주세요.
완벽한 !!! 고마워. 중첩 된 리소스의 경우 양식을 만들 때 부모 (?) 리소스의 양식과 대상 리소스의 양식을 만들어야합니다. – Edmund