Bazı alanları çevirmek için DRY yolu nedir? Benim RESTful görünümlerindeRaylar I18n: çeviri çağrılarını kısaltın (en azından görünümlerde)
, bir gösteri görünümde bu gibi bazı tekrarlayan parçacıkları vardır:
...
<dt><%= t("activerecord.attributes.user.firstname") %></dt>
<dd><%= @user.firstname %></dd>
...
Şimdi, yerine tekrar tekrar t("activerecord.attributes.user.attr_name")
yazma, ben (sadece t(:attr_name)
yazmak istiyorum form görünümlerindeki f.label :firstname
benzeri).
Temel olarak, bu sorun bir sorun olmamalıdır (en azından RESTful görünümler için), çünkü I18n modülü model adını tahmin etmek ve doğru çeviri dizesini tahmin etmek için controller
yöntemini sorgulayabilir.
Soruma Sahip: Bu yaklaşımla ilgili pratik deneyime sahip olan var mı? Bunun için bir RubyGem bile olabilir mi? Ya da: orada tuzaklar var, düşünmedim mi?
Kısmi kullanımın sessiz olduğu görülüyor, ancak aynı içeriğin aynı şekilde gösterilmesi halinde yalnızca DRY olacağını düşünüyorum. Dokümantasyonda ayrıca "t ('. Foo')" ifadesinin insanlar/index.html.erb dosyasından çağrılması aslında t ('people.index.foo') 'olarak adlandırılıyor. Dağınıklığı yerel dosyalarında saklamak istemiyorum ... – DMKE