2011-05-01 6 views
0

두 가지 모델이 있습니다 : 페이지와 작성자, destroy 메소드를 선택하면 표시 페이지 만 반환됩니다. 모델은 저자에게 has_many : 페이지가 있고 페이지가 many : author에 속한다는 것을 모델에 알려줌으로써 연결됩니다. 통지 나타납니다 : 나는 내가 그것을 파괴하지만, 아무것도, 아니이 페이지에 저를 semds 파괴 쳤을 때,이 문제를 해결하고자한다파괴 메소드가 작동을 멈췄습니다

class PagesController < ApplicationController 

def index 
@pages = Page.find(:all, :order => 'created_at DESC') 
end 

def show 
@page = Page.find(params[:id]) 
end 

def new 
@page = Page.new 
end 

def edit 
@page = Page.find(params[:id]) 
end 

def create 
@page = Page.new(params[:page]) 

if @page.save 
     redirect_to(@page, :notice => 'Page was successfully created.') 
    else 
     render :action => "new" 
    end 
end 

def update 
@page = Page.find(params[:id]) 

    if @page.update_attributes(params[:page]) 
    redirect_to(@page, :notice => 'Page was successfully updated.') 
    else 
    render :action => "edit" 
    end 
end 

def destroy 
@page = Page.find(params[:id]) 
@page.destroy 
end 

def author 
@pages = @author.pages 
end 

end 

:

내 페이지 컨트롤러에 대한 코드입니다 파괴 방법이없는 것 같습니다.

감사합니다

답변

1

나는 방법

소멸 당신이

무슨 뜻인지를 선택 모른다하지만 당신은 단지에 pages/:id URL을 액세스하는 있으리라 믿고있어 당신의 브라우저? 당신이 말한대로 이것은 show 행동입니다.

모델을 실제로 파손하려면 컨트롤러에서 destroy 작업에 액세스하려면 DELETE/pages/:id으로 보내야합니다.

<%= link_to 'Destroy', @page, :confirm => 'Are you sure?', :method => :delete %> 

참고 :method => :delete :

이것은 일반적으로 같은 것을 사용하여 수행됩니다. 이것은 실제로 때문에 대신 show 행동

+0

삭제했습니다. ..... Ahhhhhhh !!!! – StudentRik

0

보는 몇 가지의 destroy 활동에 매핑 (당신이 당신의 rails.js이 돌봐 포함되어있어 가정) 컨트롤러에 DELETE를 보낼 것입니다 :

  • 응용 프로그램에 보내는 HTTP 요청의 유형이 명확하지 않습니다. 쇼 작업이 실행 된 것 같아 귀하의 요청이 HTTP GET 메소드라고 생각합니다. destroy 액션을 호출하려면 HTTP DELETE 메소드인지 확인하십시오.

  • 데이터베이스를 검사하여 ActiveRecord가 파괴되었는지 확인 했습니까? 플래시 알림 메시지를 설정하지 않았기 때문에 아무런 알림도 표시되지 않을 수 있습니다. 예를 들어 별도의 노트에


def destroy 
    @page = Page.find(params[:id]) 
    flash[:notice] = "Page successfully removed" 
    @page.destroy 
    # You may also want to have a redirect here, e.g. redirect_to @pages 
end 
  • , 당신이 컨트롤러의 저자 방법으로 달성하기 위해 노력하고 있지만 잘 보이지 않는 확실하지. 그것은 평온한 것이 아니며 저자가 아닌 일련의 페이지를 반환하는 것처럼 보입니다.
0

귀하의 브라우저에서 JavaScript를 비활성화하셨습니까? :)

관련 문제