2012-06-26 2 views
1

내 모든보기에서 공유되는 레일 앱에 탭 탐색 페이지가 있습니다. 내부에는 사용자가있는 페이지에 따라 변경해야하는 작은 텍스트 영역이 있습니다. 내 부분에컨트롤러에 따라 다른보기를 렌더링하는 레일

class Myapp::WebsitesController < MyappController 
    def set_up 
    @page = 'websites/left_text_info' 
    end 

다음 :

<%= render :partial => @page %> 

이 작품 부분 경로, 그래서 같은 렌더링 현재 내가 컨트롤러에 변수를 추가하고 그것을 사용하여이 작업을하고있는 중이 야

하지만 일을하는 데있어 '루비'처럼 느껴지지 않습니다. 누구든지 이것을하는 더 좋은 방법에 대해 조언 할 수 있습니까?

감사

답변

2

당신은보기에 직접 controller_name 도우미 메서드를 사용하여 컨트롤러 부분을 건너 뛸 수 있습니다 :

<%= render "#{controller_name}/left_text_info" %> 

또는

변화가 아마도 가장 좋은 텍스트 영역의 내용이다 유일한 경우 방법은 콘텐츠 만 반환하는 도우미 메서드를 정의하는 것이므로 매우 유사한 여러 부분 파일이 필요하지 않습니다.

module ApplicationHelper 
    def text_area_content 
    case controller_name 
    when "users" 
     "content for users" 
    when "articles" 
     "content for articles" 
    else 
     "other content" 
    end 
    end 
end 
+0

감사합니다.이 두 가지 모두 제가 이전에했던 것처럼 컨트롤러에 경로를 추가하는 것보다 깨끗해 보입니다. –

관련 문제