2014-04-06 8 views
1

redirect_to 문을 이해하는 데 어려움이 있습니다. "Book"이라는 부울 속성 ("read")과 컨트롤러 "books"라는 모델이 있습니다. 이제는 두 번째 컨트롤러 인 "Admins"를 만들었습니다. 인덱스와 변경입니다. 문제가Ruby on Rails - redirect_to

@book=Book.find(params[:id]) 
if @book.read==true 
@book.update_attributes(:read => false) 
else 
@book.update_attributes(:read => true) 
end 
redirect_to action: "index" 

:

지금 변경 방법은 바로 "읽기"속성을 변경
<% @Books.each do |d| %> 
<%= d.title %><br> 
<% if d.read==true %> 
<%= link_to "mark unread", change_path(:id=>d.id)%> 
<% else %> 
<%= link_to "mark read", change_path(:id=>d.id)%> 
<%end %> 

: 인덱스보기는 변경 방법에 대한 링크가 포함 된 모든 책 목록을 렌더링 레일 : id를 매개 변수로 사용하여 show 액션으로 리디렉션하려고합니다 ... (아마도 change_url이/admins/change? id = 3이기 때문에) 하지만 인덱스 뷰 "/ admins"

방법이 있습니까? 항상 레일처럼 보인다 매개 변수로 ID

PS 많이

감사가있는 경우보기 조치로 리디렉션을 시도 : 관리자 및 자원 : 다음 routes.rb 자원이 포함되어 책

+0

'레일스가 : id를 매개 변수로 사용하여 show 액션으로 리디렉션하려고합니다. '라는 것을 어떻게 알 수 있습니까? 어떤 오류가 있습니까? 그렇다면 생성 된 서버 로그를 공유하십시오. –

답변

0

redirect_to 꽤 그런 식으로 작동하지 않습니다 redirect_to에 대한 명확한 설명 ... 체크 아웃을 원하는 리디렉션하려는 기능이 있습니다.

문서에는 조금 더 많은 정보가 있지만, redirect_to action: "index"은 실제로 index 작업에서 코드를 실행하지 않습니다.

http://guides.rubyonrails.org/layouts_and_rendering.html#using-redirect-to

1

사용이

redirect_to :controller => 'admins', :action => 'index' 

또는

redirect_to admins_url 

위의 두 당신은 AdminsControllerindex 페이지로 직접 것이다. 레일스가 show 액션으로 라우팅하는 방법은 없습니다. index 액션의 show 액션으로 리디렉션하지 않으면 AdminsController입니다. index 액션 코드를 AdminsController으로 공유하지 않았으므로 확인해 보시기 바랍니다.

0

나는 비슷한 문제가 몇 일 전에 발생했습니다. 나는 당신이 책과 마크/체크 표시가없는 체크 박스를 나열하는 형태로 이것을 제안 할 것이다. 내가 인간의 종류를 할 ... 데이터를 생성 사이트를 설정하고 사용자가 즉시 동일한 페이지 (포함. 성공/오류 메시지)로 리디렉션 될 때

<%= form_for @book,:url => book_index_path do |f| %> 

은 나를 위해 잘 작동 일괄 처리.