6

böyle her görünüm için başlıkları işlemek için kısmi kullanıyorum olarak benim uygulamaların görüşlerini çevirmek istiyorum ve:Rails kontrolör ACTION_NAME Çevir 4

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

... Ben tercüme üzerinde şaşırıp var onlar. Özel çeviri dosyasında controller.action_name'u nasıl çevirebilirim? Bunun

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

Ve birçok farklı varyasyonlar, ancak her biri başarısız oldu:

böyle eylem adları erişmeye çalıştık. Bana yardım eder misin?

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 

Teşekkür:

Bu

benim denetleyicisi bir parçasıdır. Eğer #{controller.controller_name} derken tüm

cevap

2

(örneğin) Eğer yerel dosyasında çeviriler hakkı istiyor. Anahtar

örn ayrı kelimelere bir alt çizgi veya tire ekleyin:

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

görünüm dosyası

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

teşekkür ederiz! :) Bu cevabı doğru olarak işaretledim, şimdi sadece yerel bölgelerime çeviri eklemek zorundayım ama sonunda benim için çalıştı. – ZuzannaSt

1

Birincisi, gerçek olmayanı senin bakış, erişilebilen controller denilen bir nesne olduğu anlamına gelir. Denetleyiciye ve eyleminin ismine erişmeyi başarsanız bile, çaba ve zamana değdiğini sanmıyorum.

Bunun yerine, böyle bir şekilde çeviri dosyası yapılandırmanın:

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

ve görünümde

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