2009-08-18 4 views
0

레일스에 문제가 있습니다. 사용자가 적절한 링크를 클릭하면 카테고리와 제품에 HABTM 관계가있을 때 각 카테고리의 제품을 별도의 페이지에 표시하고 싶습니다. 결과를 볼 수 있습니다. 하지만 기본 페이지 (경로)에 표시하고 싶지는 않습니다. 새 경로 규칙을 생성해야합니까? 아니면 경로를 편집하지 않고 컨트롤러와보기에서이를 수행 할 수 있습니까?카테고리가 새 페이지에서 카테고리로 표시됩니다.

다음
<h3><%=h @category.name %></h3> 
<div id="category_desc"> 
    <%=h truncate(@category.description.gsub(/<.*?>/,''),80) %> 
</div> 
<div id="categories_edit_nav"> 
    <%= link_to "Edit" , edit_category_path(@category) %> 
    <%= link_to "Remove" , category_path(@category) , :confirm => "Are you really want to delete #{@category.name} ?" , :method => "delete" %> 
</div> 
<div id="category_nav"> 
    <%= link_to "Create a new Category" , new_category_path %> 
</div> 

내가 좋아하는 카테고리 컨트롤러에 대한 방법을 만들 수 있습니다 :

이 범주에 대한 show.html.erb 코드입니다,

def show_products 
    @products_in_category = @category.products.find(:all)  
    end 

을 그리고 쇼보기에서 사용하지만 show_products와 같은 다른보기에서 사용하고 싶습니다. 이 방법에 대한 경로를 만들어야합니까?

+1

음 ... 플랫폼, 언어, 소프트웨어 등에 대해 자세히 설명하지 않으셨습니까? 그렇다면 어떻게해야합니까? –

+0

죄송합니다. 답변을 시작하기에 충분한 세부 정보가 없습니다. 좀 더 자세한 정보를 포함시켜 주시겠습니까? –

+0

"기본 페이지 (경로)에 표시하고 싶지 않습니다"라는 의미는 무엇입니까? 내가 그것을 이해하지 못하기 때문에 몇 가지 코드를 제공하고 문제를 설명하려고 노력하십시오. – klew

답변

0

당신은 중첩 사용해야 자원 : [: CATEGORY_ID]에

map.resources :categories, :has_many => :products 

이는 당신이 PARAMS을 사용할 수있는 제품 컨트롤러와 인덱스 액션에 쿼리를 직접합니다/카테고리/1/제품과 같은 경로를 작성합니다 올바른 결과 세트를 렌더링하십시오.

경로를 실험 할 때 레이크 경로를 실행하여 결과를 확인하고 자세한 내용은 http://api.rubyonrails.org/classes/ActionController/Resources.html을 참조하십시오.

관련 문제