나는 이와 같이 링크 된 학교에 대한 리뷰 페이지가 있습니다.매개 변수가 첨부 된 이전 페이지로 리디렉션
<%= school_reviews_path(school_id: @school.id) %>
이와 같은 링크를 생성하십시오.
그러나http://address.com/school_reviews?school_id=1
는 리뷰에서 검토 작성 후 내가 첨부 된 매개 변수 school_id=1
그러나 그것을 schools_reviews controller
의 create
조치를 게시 새로운 검토를 만드는 형태입니다
이렇게 여러 가지 방법을 시도했지만 작동하지 않고 http://address.com/school_reviews
으로 리디렉션했습니다. 매개 변수없이 올바른 정보를 가져 오지 못했습니다.
def create
@review = SchoolReview.new(params[:review])
respond_to do |format|
if @review.save
format.html { redirect_to school_reviews_path(:school_id => @review.school_id) }
format.json { head :no_content }
else
format.html { redirect_to school_reviews_path(:school_id => @review.school_id) }
format.json { head :no_content }
end
end
end
어떤 아이디어라도 유용 할 것입니다.
* 작동하지 않습니다. *. 그럼 어떻게 될까요? 관용적이지는 않지만 중첩 된 경로를 사용해야하므로 정확합니다. –
@ MaurícioLinhares, 나는 질문을 개선했다. – Acacia
위 내용에 동의하십시오. 레일스와 같이 더 RESTful 한 방향으로 나아가면 자신을 많이 아끼지 않을 것입니다. 아마도/schools/1/reviews와 같은 URL을 원할 것입니다. 새 리뷰를 작성하는 양식은/schools/1/reviews/create에 POST가되고, 저장은/schools/1/reviews로 리디렉션됩니다.이 모든 것은 중첩 된 자원 패턴을 따르는 데 필요한 코드 대체없이 발생합니다 . 희망이 도움이됩니다. 자세한 정보 : http://guides.rubyonrails.org/routing.html#nested-resources – GoGoCarl