6

이 같은 각 뷰의 헤더 렌더링하는 부분 사용하고 나는 내 응용 프로그램의 뷰를 번역하고 싶은 :레일에서 컨트롤러 ACTION_NAME 번역 4

<%=t "#{controller.controller_name.capitalize} #{controller.action_name}" %>

... 내가 번역에 stucked있어을 그들. 맞춤 번역 파일에 controller.action_name을 어떻게 번역합니까? 그것의

parkings: 
    index: "Parkings index" 
    new: "New %{model}" 

그리고 여러 가지 변화를하지만 모두 실패 :

나는이 같은 조치 이름에 액세스하려고했습니다. 당신이 나를 도울 수?

def new 
    @parking = Parking.new 
    end 

    def create 
    @parking = Parking.new(parking_params) 

    if @parking.save 
     redirect_to @parking, notice: t(:parking_created) 
    else 
     render action: 'new' 
    end 
    end 

감사 :

내 컨트롤러의 조각입니다.

답변

2

(예) 당신은 당신의 로케일 파일의 번역이해야한다고. 키

예를 들어 별도의 단어에 밑줄 또는 하이픈을 추가

# config/locales/en.yml 
en: 
    parkings_index: Parkings index 
    parkings_new: Parkings new page 

보기 파일

<%=t "#{controller_name}_#{action_name}" %> 
+0

감사합니다! :)이 답변을 올바른 것으로 표시 했으므로 지금은 번역을 내 언어에 추가해야하지만 마침내 나를 위해 일했습니다. – ZuzannaSt

1

우선, #{controller.controller_name}이라고 말하면 controller이라는 개체가보기에 액세스 할 수 있음을 의미합니다. 이는 사실이 아닙니다. 컨트롤러와 그 액션의 이름에 액세스 할 수 있다고하더라도 나는 노력과 시간을 들일만한 가치가 있다고 생각하지 않는다.

대신, 다음과 같이 어떻게 든 번역 파일을 구성 할 수 있습니다

views: 
    model_name (parkings): "Parkings" 
    action_1_name (index): "Parkings Index" 
    action_2_name (new): "New Parking" 
    ... 

하고보기

<%= link_to (t "views.model_name.action_name"), :action %>